2015-09-19 4 views
0

Я работаю над адаптацией немного PHP для генератора styleguide, чтобы вытащить файл .scss и отобразить его, но в строке 56 я получаю уведомление: неопределенная переменная ,добавление новой функции создало неопределенную переменную

линия в вопросе

$sass = 'sass'.strstr($path, "/"); 

и вся functions.php является

<?php 

    // Display title of each markup samples as a list item 
    function listMarkupAsListItems ($type) { 
    $files = array(); 
    $handle=opendir('markup/'.$type); 
    while (false !== ($file = readdir($handle))): 
     if(stristr($file,'.html')): 
      $files[] = $file; 
     endif; 
    endwhile; 

    sort($files); 
    foreach ($files as $file): 
     $filename = preg_replace("/\.html$/i", "", $file); 
     $title = preg_replace("/\-/i", " ", $filename); 
     $title = ucwords($title); 
     echo '<li><a href="#sg-'.$filename.'">'.$title.'</a></li>'; 
    endforeach; 
    } 

    // Display markup view and source 
    function showMarkup($type) { 
    $files = array(); 
    $handle=opendir('markup/'.$type); 
    while (false !== ($file = readdir($handle))): 
     if(stristr($file,'.html')): 
      $files[] = $file; 
     endif; 
    endwhile; 

    sort($files); 
    foreach ($files as $file): 
     $filename = preg_replace("/\.html$/i", "", $file); 
     $title = preg_replace("/\-/i", " ", $filename); 
     $documentation = 'doc/'.$type.'/'.$file; 
     echo '<div class="sg-markup sg-section">'; 
     echo '<div class="sg-display">'; 
     echo '<h2 id="sg-'.$filename.'" class="sg-h2">'.$title.'</h2>'; 
     if (file_exists($documentation)) { 
      echo '<div class="sg-doc">'; 
      include($documentation); 
      echo '</div>'; 
     } 
     include('markup/'.$type.'/'.$file); 
     echo '</div>'; 
     echo '<div class="sg-markup-controls"><button type="button" class="sg-btn sg-btn--source">View Source</button> <a class="sg-btn--top" href="#top">Back to Top</a></div>'; 
     echo '<div class="sg-source sg-animated">'; 
     echo '<button type="button" class="sg-btn sg-btn--select">Copy Source</button>'; 
     echo '<pre class="line-numbers"><code class="language-markup">'; 
     echo htmlspecialchars(file_get_contents('markup/'.$type.'/'.$file)); 
     echo '</code></pre>'; 
     echo '</div>'; 
     echo '</div>'; 
     $sass = 'sass'.strstr($path, "/"); 
     $sass = str_replace(".html",".scss",$sass); 
     if (file_exists($sass)) { 
      echo '<div class="sg-sub-section">'; 
      echo '<div class="sg-markup-controls">'; 
      echo '<button type="button" class="sg-btn sg-btn--source">View Sass</button>'; 
      echo '</div>'; 
      echo '<div class="sg-source">'; 
      echo '<button type="button" class="sg-btn sg-btn--select">Copy Sass</button>'; 
      echo '<pre class="line-numbers"><code class="language-scss">'; 
      echo file_get_contents($sass); 
      echo '</code></pre>'; 
      echo '</div>'; 
      echo '</div>'; 
     } 
    endforeach; 
    } 
?> 

Я уверен, что это какой-то простой PHP вопрос Я получаю неправильно. Любая помощь будет принята с благодарностью.

Обновление: Код для $ sass был взят из другого фрагмента, глядя на два комментария (спасибо), кажется, что проблема $ path variable является проблемой? Думаю, мне нужно определить, что путь к папке, где я ищу?

+0

где задана переменная '$ path' –

+0

Где определена переменная $ path? –

ответ

0

Необходимо сначала определить $ path. Вы можете сделать это в другом месте и вызвать в переменной $ PATH вашей функции с линией в начале функции, как:

function showMarkup($type) { 
global $path; 
// ... etc. 

Или определить по умолчанию для него при определении функции:

function showMarkup($type, $path="my-default-path/") { 
Смежные вопросы