Все таки не получается у меня осилить курс от ирбис. По 10 раз перечитываю уроки, но все равно понимаю только поверхностно. Почему? Для меня все тяжело из за огромного кол-ва собственных функций-оберток и прочих функций, из за того, что тут массивам уделяется такое повышенное внимание, а я их очень тяжело воспринимаю, из за того, что тут сходу пытаются сразу делать космическую ракету, из за огромного кол-ва констант, из за профессионального программерского объяснения, из за отсутствия к каждому листингу заголовка с путем и именем файла, из за отсутствия скриншотиков того, что должно получится, из за... много еще по мелочи. А так хочется вместо всего этого простейший пример изготовления сайта на основе правильного каркаса. Чтоб по началу переменные не в массив складывались и перебирались а по простому if isset то = и все. Чтобы для начала без мод реврайта, и без всякий личных функций типа дебагера, без множества констант. Вот еслиб кто такое написал бы! Эээх... А уже потом можно было бы постепенно делать огранку этому монолиту добавляя свои функции.
Я более менее понял уроки по MVC, что надо разбить вид и вычесления. Но что делать если у меня меню из 10 пунктов я не понял. Например новости с анонсами на главной, статьи по своим категориям, обратная связь и пр.
http://rutracker.org/forum/viewtopic.php?t=3432762начни с этого
_____________
если помог, не скупись на карму =)
Andrey65
26.02.2011 - 18:06
Цитата |
Многое может показаться лишним и ненужным. Если в процессе изучения возникнет острое желание все бросить с криком - "да на кой это все, и так нормально работает!!!" - именно так и сделайте. Значит Вы просто еще не созрели для серьёзной, профессиональной работы. Не нужно себя мучать. |
У меня все так и получилось.
_____________
Цитата |
Не стоит недооценивать предсказуемость моей тупизны |
Fredrich
26.02.2011 - 22:49
Ребята вопрос такого плана значит почитал уже несколько раз курс Irbish и вот не могу понять за что отвечают
view.php
router.php
read_controller.php
Обясните пожалуйста какие действия происходят в каждом файле и как они связаны
Зарание спасибо.
_____________
Видео уроки по Yii
Как я понял:
read_controller.php - в нем мы делаем какие-нибудь вычисления, например генерируем случайное число от 0 до 100 (допустим получилось $a=57)
view.php подсасывает show.tpl (отвечает за внешний вид. В файле show.tpl например красиво оформлен блок: внимание случайное число от 0 до 100 это $a!)
router.php - собирает все вместе (подсасывает read_controller.php+view.php)
И мне кто-нибудь подскажите:
Ядро, шаг 2.
в меню мы поменяли ссылки на:
<li><a href="/main">Главная страница</a></li>
<li><a href="/second">Вторая страница</a></li>
И теперь у меня если посмотреть на строку состояния в браузе то видно что ссылки стали вида:
http://localhost/main, НО у меня сайт находится в подпапке TEST и поэтому я вылетаю на гугл поиск, так как ссылки должны быть
http://localhost/TEST/main Как бы пофиксить?
Andrey65
27.02.2011 - 01:43
Тут прям боевые действия разворачиваются. Бедное ядро. :D (forgive for flood)
prst А почему бы просто не создать test.ru/www/ в которой и будет находиться сайт?
Если уж надо, то : *.htaccess поменяй правила реврайта на
RewriteRule ^(.*)$ test/index.php?route=$1 [L,QSA]
И путь на стиль СSS в index.tpl У меня все работает
_____________
Цитата |
Не стоит недооценивать предсказуемость моей тупизны |
inpost
27.02.2011 - 03:13
Пришел запрос, роутер проверил, и подгрузил ту страницу, которую надо (в зависимости от ($_GET['page'] == 'news'). Подгрузил он Контроллер, в котором провел все операции с ПХП + БД, далее сформировались переменные для вывода, теперь подгружается VIEW, в котором чистый ХТМЛ, и в нужных местах лишь вставка переменных.
Достаточно в VIEW использовать либо echo $aaa, либо условия, все остальные операции с работой PHP выполняет контроллер.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Andrey65
27.02.2011 - 05:07
Задам-ка и я вопрос про ф-ю href() Вот пишу понятные для себя комменты и застопорился Очень уж загадочные функции, подробно распинайте их, потому что полюбому найдутся такие как я!
$cnt = array_flip(array_keys($tmp));
$tmp = array_slice($tmp, 0, $cnt[$param[0]] + 1);
_____________
Цитата |
Не стоит недооценивать предсказуемость моей тупизны |
Andrey65
27.02.2011 - 05:36
И еще вот каким ...
if($arg[0] == 'host')
return IRB_HOST ;
_____________
Цитата |
Не стоит недооценивать предсказуемость моей тупизны |
gidrosoldat
27.02.2011 - 11:26
//у нас же $arg это массив в котором 'page=main'
Все довольно просто )
$arg - и правда массив. А массив это не одно значение, а множество значений. Первое значение в массиве будет $arg[0]. Именно в $arg[0] попадает первая частичка $GET параметра. Например из гипотетической адресной строки http://localhost/index.php?page=main&id=2234 в $arg[0] попадет 'page=main'. В $arg[1] попадет вторая частичка - 'id=2234'.
Andrey65
дак передай href('host') и посмотри =)
Это ссылка на корень сайта, который у нас в константу IRB_HOST записан
_____________
если помог, не скупись на карму =)
Fredrich
27.02.2011 - 12:36
Цитата (prst @ 26.02.2011 - 19:40) |
Как я понял: read_controller.php - в нем мы делаем какие-нибудь вычисления, например генерируем случайное число от 0 до 100 (допустим получилось $a=57) view.php подсасывает show.tpl (отвечает за внешний вид. В файле show.tpl например красиво оформлен блок: внимание случайное число от 0 до 100 это $a!) router.php - собирает все вместе (подсасывает read_controller.php+view.php) |
Так зачем он нужен имею введу router.
php
_____________
Видео уроки по Yii
gidrosoldat
27.02.2011 - 13:16
Цитата (Fredrich @ 27.02.2011 - 08:36) |
Цитата (prst @ 26.02.2011 - 19:40) | Как я понял: read_controller.php - в нем мы делаем какие-нибудь вычисления, например генерируем случайное число от 0 до 100 (допустим получилось $a=57) view.php подсасывает show.tpl (отвечает за внешний вид. В файле show.tpl например красиво оформлен блок: внимание случайное число от 0 до 100 это $a!) router.php - собирает все вместе (подсасывает read_controller.php+view.php) |
Так зачем он нужен имею введу router.php
|
ИМХО. Тут он в качестве примера. Если бы у вас был код подключения разных контроллеров в зависимости от каких то конкретных параметров (например $GET, как описано в системе регистрации), то именно в роутер вы бы его и вставили. По идее он здесь на случай более сложных модулей, где код логики разделен на несколько файлов.
Если у вас один файл контроллера и один файл шаблона, то файлы view.php и router.php можно вообще исключить. Тогда из switch'a основного индекса запускается фаил контроллера, а в нем самом, последней строчной идет подключение шаблона функцией include/require.
Цитата (Andrey65 @ 26.02.2011 - 21:43) |
prst А почему бы просто не создать test.ru/www/ в которой и будет находиться сайт? Если уж надо, то : *.htaccess поменяй правила реврайта на
RewriteRule ^(.*)$ test/index.php?route= [L,QSA]
|
На счет создать test.ru/www/, у меня в каталоге htdocs/ куча сайтов, проще каталог создать чем заводить вирутальный домен на каждый сайт.
Поменял строку в правиле реврайт, все также, может у меня реврайт не срабатывает? Можно как то отследить срабатывает он или нет?
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.