Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: загрузка внешнего файла в листинг
Форумы портала PHP.SU » PHP » Программирование на PHP » загрузка внешнего файла в листинг

Страниц (1): [1]
 

1. dimalogin - 05 Апреля, 2007 - 13:42:32 - перейти к сообщению
Здравствуйте, возможно ли, разделить файл *.php в котором до html-тегов имеется код php на два файла *.php. 1-все что до html-тегов 2-после. Или сформулирую проще - разбить один файл *.php на два, чтоб исполнялись как один. Смысл - при отладке моей домашней странички, устал прокручивать листинг.
2. Viper - 05 Апреля, 2007 - 13:51:11 - перейти к сообщению
сохраняеш код php в два разных файла *.php (1.php, то что до html и 2.php, то что после html). Затем расширение html меняеш на php и через include подключаеш файлы 1.php и 2.php.

ЗЫ! Надеюсь понял правильно Улыбка
3. -SCHATTEN- - 05 Апреля, 2007 - 14:15:18 - перейти к сообщению
Я бы посоветовал вообще весь HTML код, в темплейтах держать.
И РНР скрипты остануться чистыми и удобно, и практично...
4. UserID - 05 Апреля, 2007 - 18:05:55 - перейти к сообщению
-SCHATTEN-
Истину глаголешь...

Получится нечто вроде этого:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. /**
  4. * @title  HTML template parser class
  5. * @author Nikitin V.A.
  6. * @email nikitin.vadim@gmail.com
  7. * @date   13 / Feb / 2007
  8. */
  9.  
  10. // Class initialization
  11. class parser {
  12.        
  13.         // Variables to redefine
  14.         var $vars = array();
  15.        
  16.         // Handler on redefining variables
  17.     var $template;
  18.        
  19.     // Handler to template file
  20.         var $tpl_file;
  21.        
  22.         // Class constructor
  23.         function parser()
  24.         {
  25.                 if(!@function_exists("file_get_contents"))
  26.                 {
  27.                         $this->tpl_halt("Server needs to update.");
  28.                         return false;
  29.                 }
  30.         }
  31.        
  32.         // Set variables
  33.         function set_tpl($key,$var)
  34.         {
  35.                 $this->vars[$key] = $var;
  36.         }
  37.        
  38.         // Redefine vars in template
  39.         function tpl_parse()
  40.         {
  41.                 foreach($this->vars as $find => $replace)
  42.         {
  43.                 $this->template = str_replace($find, $replace, $this->template);
  44.         }
  45.         }
  46.        
  47.         // Load template file
  48.         function get_tpl()
  49.         {
  50.                 if(empty($this->tpl_file) || !file_exists($this->tpl_file))
  51.                 {
  52.                         $this->tpl_halt("Can`t to find template file.");
  53.                 }
  54.                 else
  55.                 {
  56.                         $this->template = file_get_contents($this->tpl_file);
  57.                 }
  58.                 return $this->template;
  59.         }
  60.  
  61.         // If an error were generated, display it
  62.         function tpl_halt($msg)
  63.         {
  64.                 die("<code>".$msg."</code>");
  65.         }
  66. };
  67. ?>
  68.  


Ну и обращаемся:
PHP:
скопировать код в буфер обмена
  1.  
  2. $tpl = new parser();
  3. $tpl->tpl_file = "_template/".$CMS['tpl_path']."/index_header.tpl";
  4. $tpl->get_tpl();
  5. $tpl->set_tpl("{INDEX_TITLE}",   $CMS['index_title']);
  6. $tpl->tpl_parse();
  7. print $tpl->template;
  8.  


Вроде сложного нет ничего, поэтому над комментами не загонялся...
5. -SCHATTEN- - 05 Апреля, 2007 - 18:56:13 - перейти к сообщению
Ну это тебе и мне понятно, ну пусть ещё человекам 5... а остальным =)))

а вызов вот так сделай
PHP:
скопировать код в буфер обмена
  1.  
  2. function main()
  3. {
  4. $tpl = new parser();
  5.  $tpl->tpl_file = "_template/".$CMS['tpl_path']."/index_header.tpl";
  6.  $tpl->get_tpl();
  7.  $tpl->set_tpl("{INDEX_TITLE}",   $CMS['index_title']);
  8.  $tpl->tpl_parse();
  9.  print $tpl->template;
  10. }
  11.  
  12. //И сам вывод получится :
  13. main();
  14.  
6. UserID - 05 Апреля, 2007 - 22:06:10 - перейти к сообщению
-SCHATTEN-

Перлы нашего универа:
- задание на лабу по С++:
Наследовать от класса гаража класс платной стоянки, для которого определить оператор «==» для целого числа слева, возвращающего результат сравнения числа машин в гараже и заданного числа. Также перегрузить оператор «!», который пытается заехать одной машиной в гараж.
-------------------------------- -------------------------------- ----------------
Особенно меня прёт, про оператор, который пытается заехать в гараж, а о перегрузке восклицательного знака вообще говорить не могу ))) Я плакал, когда первый раз такое прочитал
7. -SCHATTEN- - 06 Апреля, 2007 - 06:00:23 - перейти к сообщению
Ха-ха

Кто их придумывал .... Радость

У нас тут много тех кто тока начал учить РНР, может кто сможет это на РНР сделать...

UserID и evgenijj - НЕпытаемся. или хотябы пока не выкладываем...
8. Viper - 06 Апреля, 2007 - 08:16:35 - перейти к сообщению
если уж про шаблоны зашло... можно ещё использовать "шаблонизаторы", типа Smarty. Хотя помойму проще свой накатать имхо.
9. -SCHATTEN- - 06 Апреля, 2007 - 10:26:33 - перейти к сообщению
Viper
+1
Да и надежнее...
10. UserID - 06 Апреля, 2007 - 13:18:35 - перейти к сообщению
Ага, прикручиваем tidy и будет аки полиморфный html Улыбка программисты всех стран, объединяйтесь... Даёшь битмап для lynx`a :-D, искусственный интеллект для IE (пусть браузер говорит нечеловеческим голосом Билли Гейтса) Видимо фильм "Убить Билла" вышел с каким-то намёком, тонким философским наставлением.
11. -SCHATTEN- - 06 Апреля, 2007 - 14:09:15 - перейти к сообщению
Голливудская улыбка
12. kamikadze - 06 Апреля, 2007 - 20:22:04 - перейти к сообщению

Тарантино винду ставил

 

Powered by ExBB FM 1.0 RC1