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 :: Версия для печати :: Организация сайта одной страницой index.php
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Организация сайта одной страницой index.php

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

1. kostyan - 29 Июля, 2011 - 20:32:04 - перейти к сообщению
Как я понял это правильно когда сайт организован в одном файле index.php, а в него в зависимости от обстановки подключаются нужные куски (модули) кода. (так организовано в joomle, drupaler)

накидайте ссылок пожалуйста где рассмотрены основы, примеры создания таких сайтов...
может я не там смотрю, мне попадаются уроки где создаются отдельные файлы .php под каждую задачу (регистрация авторизация и т.д.)...
или просто кусок кода с той же авторизацией (к примеру) что бы было понятно основной подход при создание правильного сайта на инклюдах.

Заранее спасибо!
2. iflight - 29 Июля, 2011 - 20:46:49 - перейти к сообщению
http://habrahabr[dot]ru/blogs/php/31270/
это перевод, он немного не полный, в комментах есть ссылки на оригинал (английский), да и вообще комменты там читать обязательно)
3. DeertOff - 30 Июля, 2011 - 17:57:09 - перейти к сообщению
использовать Полиморфизм:

PHP:
скопировать код в буфер обмена
  1.  
  2. //--------- B ----------//
  3. class B implements I
  4. {
  5.     public function page()
  6.     {
  7.         echo "это страница B";
  8.     }
  9. }
  10.  
  11. //--------- А ----------//
  12. class A implements I
  13. {
  14.     public function page()
  15.     {
  16.         echo "это страница A";
  17.     }
  18. }
  19.  
  20. //--------- I ----------//
  21. interface I
  22. {
  23.     public function page();
  24. }
  25.  
  26. //----- Это в index.php -----//
  27. // Getом передавать нужный контроллер
  28.  
  29. if($_GET['c']) // index.php?c=B
  30.     $obj = new $_GET['c']();
  31. else
  32.     $obj = new A();// по Дефолту
  33.  
  34. $obj->page();
  35.  

для подгрузки классов __autoload()

 

Powered by ExBB FM 1.0 RC1