[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Научите PHP.
Страницы: 1, 2, 3, 4, 5, 6
prst
Все таки не получается у меня осилить курс от ирбис. По 10 раз перечитываю уроки, но все равно понимаю только поверхностно. Почему? Для меня все тяжело из за огромного кол-ва собственных функций-оберток и прочих функций, из за того, что тут массивам уделяется такое повышенное внимание, а я их очень тяжело воспринимаю, из за того, что тут сходу пытаются сразу делать космическую ракету, из за огромного кол-ва констант, из за профессионального программерского объяснения, из за отсутствия к каждому листингу заголовка с путем и именем файла, из за отсутствия скриншотиков того, что должно получится, из за... много еще по мелочи. А так хочется вместо всего этого простейший пример изготовления сайта на основе правильного каркаса. Чтоб по началу переменные не в массив складывались и перебирались а по простому if isset то = и все. Чтобы для начала без мод реврайта, и без всякий личных функций типа дебагера, без множества констант. Вот еслиб кто такое написал бы! Эээх... А уже потом можно было бы постепенно делать огранку этому монолиту добавляя свои функции.
Я более менее понял уроки по MVC, что надо разбить вид и вычесления. Но что делать если у меня меню из 10 пунктов я не понял. Например новости с анонсами на главной, статьи по своим категориям, обратная связь и пр.
Slays
http://rutracker.org/forum/viewtopic.php?t=3432762

начни с этого

_____________
если помог, не скупись на карму =)
Andrey65
Цитата
Многое может показаться лишним и ненужным. Если в процессе изучения возникнет острое желание все бросить с криком - "да на кой это все, и так нормально работает!!!" - именно так и сделайте.
Значит Вы просто еще не созрели для серьёзной, профессиональной работы. Не нужно себя мучать.
У меня все так и получилось.

_____________
Цитата
Не стоит недооценивать предсказуемость моей тупизны
Fredrich
Ребята вопрос такого плана значит почитал уже несколько раз курс Irbish и вот не могу понять за что отвечают
    view.php
    router.php
    read_controller.php
Обясните пожалуйста какие действия происходят в каждом файле и как они связаны
Зарание спасибо.

_____________
Видео уроки по Yii
prst
Как я понял:
read_controller.php - в нем мы делаем какие-нибудь вычисления, например генерируем случайное число от 0 до 100 (допустим получилось $a=57)
view.php подсасывает show.tpl (отвечает за внешний вид. В файле show.tpl например красиво оформлен блок: внимание случайное число от 0 до 100 это $a!)
router.php - собирает все вместе (подсасывает read_controller.php+view.php)
prst
И мне кто-нибудь подскажите:
Ядро, шаг 2.
в меню мы поменяли ссылки на:
<li><a href="/main">Главная страница</a></li> 
<li><a
href="/second">Вторая страница</a></li>

И теперь у меня если посмотреть на строку состояния в браузе то видно что ссылки стали вида: http://localhost/main, НО у меня сайт находится в подпапке TEST и поэтому я вылетаю на гугл поиск, так как ссылки должны быть http://localhost/TEST/main
Как бы пофиксить?
Andrey65
Тут прям боевые действия разворачиваются. Бедное ядро. :D (forgive for flood)
prst А почему бы просто не создать test.ru/www/ в которой и будет находиться сайт?
Если уж надо, то : *.htaccess поменяй правила реврайта на

RewriteRule ^(.*)$ test/index.php?route=$1 [L,QSA]

И путь на стиль СSS в index.tpl У меня все работает

_____________
Цитата
Не стоит недооценивать предсказуемость моей тупизны
inpost
Пришел запрос, роутер проверил, и подгрузил ту страницу, которую надо (в зависимости от ($_GET['page'] == 'news'). Подгрузил он Контроллер, в котором провел все операции с ПХП + БД, далее сформировались переменные для вывода, теперь подгружается VIEW, в котором чистый ХТМЛ, и в нужных местах лишь вставка переменных.
Достаточно в VIEW использовать либо echo $aaa, либо условия, все остальные операции с работой PHP выполняет контроллер.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Andrey65
Задам-ка и я вопрос про ф-ю href() Вот пишу понятные для себя комменты и застопорился Очень уж загадочные функции, подробно распинайте их, потому что полюбому найдутся такие как я!

$cnt = array_flip(array_keys($tmp));//формируем массив из ключей и меняем местами значение и ключ типа page=>0,rem=>0
$tmp = array_slice($tmp, 0, $cnt[$param[0]] + 1); // обрезаем те параметры, которые не передавались в аргумент


_____________
Цитата
Не стоит недооценивать предсказуемость моей тупизны
Andrey65
И еще вот каким ...


if($arg[0] == 'host') //Вот тут че за ... это если значение равно строке host?
//у нас же $arg это массив в котором 'page=main'


return IRB_HOST ;


_____________
Цитата
Не стоит недооценивать предсказуемость моей тупизны
gidrosoldat
//у нас же $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'.
Slays
Andrey65

дак передай href('host') и посмотри =)
Это ссылка на корень сайта, который у нас в константу IRB_HOST записан

_____________
если помог, не скупись на карму =)
Fredrich
Цитата (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
Цитата (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.
prst
Цитата (Andrey65 @ 26.02.2011 - 21:43)
prst А почему бы просто не создать test.ru/www/ в которой  и будет находиться сайт?
Если уж надо, то : *.htaccess поменяй правила реврайта на

RewriteRule ^(.*)$ test/index.php?route= [L,QSA]


На счет создать test.ru/www/, у меня в каталоге htdocs/ куча сайтов, проще каталог создать чем заводить вирутальный домен на каждый сайт.
Поменял строку в правиле реврайт, все также, может у меня реврайт не срабатывает? Можно как то отследить срабатывает он или нет?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.