|
|
||||||||||||||||||||||
MVC - мой первый скрипт, оцените/исправьте/добавьте/прокомментируйте07.12.2011, 16:37. Показов 9614. Ответов 57
Метки нет (Все метки)
Доброго времени суток, вот я погуглил, почитал всяких статей про MVC на PHP, поюзал немного фреймворк CodeIgniter, и решил что надо чтото в этом роде попробовать написать своё, вот и начал лепить, и щас выкладываю вам код того что налепил...
Зараннее прошу сильно не ругаться т.к. раньше никогда неписал скрипты на ООП, и неделю назад - вообще неимел понятие о том что такое MVC!!! начну с файла .htaccess, расписывать ничего небуду, просто вот его содержимое:
файл index.php - в корне сайта:
далее создаем обьект $router класса Router и вызываем метод delegate - который в свою очередь возьмет строку из $_GET['route'] разобьет её на куски и будет подгружать контроллерыи их методы с или без параметров... Вот код класса Router, который находится в../conf/router.php:
Вот контроллер Index:
в контроллере Home - есть функция index - которая работает если пуста переменная $action класса Router, и есть функция view_home - которая может принимать параметр(по умолчанию - он = NULL) - здест тоже всё работает через delegate() класса Router. Чудо, когда я вот так набираю в адресной строке http://localhost/home/view_home/variable, всё работает ![]() а вот когда просто http://localhost/ - то контроллер Index - вызывается дважды........ Взглянув на этот код - сразу видно что это жесть,и первое что мне ненравится - это то что всем методам контроллеров мы можем передать только по одному параметру(который хранится в $vars) - а если надо больше - непойму как поступить, но всёже я хочу услышать советы, поправки, и вообще может я всё тут неправильно сделал, жду ваших комментов... Спасибо за внимание!!!
3
|
||||||||||||||||||||||
| 07.12.2011, 16:37 | |
|
Ответы с готовыми решениями:
57
Мой первый вывод новостей Мой первый класс в ООП Оцените код пожалуйста - правильно ли я понял ООП и MVC? |
|
154 / 124 / 11
Регистрация: 11.01.2010
Сообщений: 434
|
||
| 15.12.2011, 17:06 | ||
|
0
|
||
|
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
|
||
| 15.12.2011, 17:21 | ||
|
Ни одна адекватная компания сейчас на своих PHP-велосипедах не работает. Либо это фрэймворк, либо CMS. А дэнвер это вообще дело каждого. Я на CentOS работаю. Багов у меня нет. Вообще, скрипты без фрэймворка надо использовать, IMHO, только в качестве демонов.
0
|
||
|
6 / 6 / 2
Регистрация: 08.11.2011
Сообщений: 23
|
|
| 16.12.2011, 00:35 | |
|
0
|
|
|
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
|
||
| 16.12.2011, 10:39 | ||
|
0
|
||
|
6 / 6 / 2
Регистрация: 08.11.2011
Сообщений: 23
|
||
| 16.12.2011, 10:43 | ||
|
Есть большая разница, между человеком, который может реализовать некий функционал фреймворка, и человеком который в состояние клепать только модули, к чему-то готовенькому.
0
|
||
|
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
|
|
| 16.12.2011, 11:24 | |
|
Я ведь не просто так говорю, наверное
![]() Я учился писать на PHP с Zend Framework. Сейчас могу написать абсолютно любой функционал и сам. Учить начал в феврале 2009, кажется. И я очень рад, что я не стал писать велосипедов. Многие вещи не нуждаются в понимании в начале. Можно кодить зная лишь что вернет нужная функция. Когда вдруг понадобится понимание реализации - вот тогда смотрите. Тем более, что, в большинстве случаев, в начале программист, изучающий язык самостоятельно, идет не правильным путем. + вы никуда не денетесь от MVC и ООП. Точнее, от первого, возможно и денетесь, но от второго - точно нет. Тогда зачем вам писать свои велосипеды, если они не верны в корне? Посмотрите на чужой велосипед и сделайте свой лучше. Почитайте про паттерны. Про ООП. Про MVC. Про кэширование. И вот тогда, возможно вы станете не тем, на кого с презрением тычут пальцем, мол - PHPшник (а тычут как раз поэтому ), а настоящим веб-девелопером.Ну и за одно сразу почитайте про SOAP, JSON, AJAX. Ну и главное (на начальном уровне) перестаньте писать запросы к БД руками. Запросы руками надо писать в high-load, либо когда уже освоитесь как ответ от БД правильно выводить через PHP. А так сами себе суете палки в колеса. Суть - не пиши велосипед с нуля, возьми чужой, проверенный временем каркас.
1
|
|
|
154 / 124 / 11
Регистрация: 11.01.2010
Сообщений: 434
|
|||
| 16.12.2011, 14:00 | |||
|
Ваша позиция ясна! но и поступайте так как считаете правильно.
0
|
|||
|
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
|
||
| 16.12.2011, 14:07 | ||
![]() Никто кроме разработчиков не понимает, как работает функция. Обьясните мне, почему вы используете date('Y-m-d'); заместо своего аналога получения даты? Вы ведь хотите сделать свой велосипед.
0
|
||
|
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
|
|
| 17.12.2011, 11:04 | |
|
KoIIIeY,
Не по теме: все верно говоришь брат
1
|
|
|
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
|
||
| 17.12.2011, 11:21 | ||
|
P.S. так можно делать вывод и кроме echo. Можно такую систему замутить, что ни одного echo не будет, но будет работать.
0
|
||
|
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
|
||
| 17.12.2011, 13:16 | ||
|
Pltcm
0
|
||
|
|
|||
| 17.12.2011, 14:03 [ТС] | |||
|
Добавлено через 17 минут Зачем пытаться чегото доказать если сам невывозиш в этой теме,(дал совет, если непомог сиди молча и думай дальше над вариантами если тебе это интересно), форум создан для того что бы давать советы и помогать решать задачи, но никак не для того чтоб показать "Какой я крутой программист, я во всём шарю, а не то что вы все!!"
0
|
|||
|
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
|
|
| 17.12.2011, 14:48 | |
|
Sanu0074, КЭП
0
|
|
|
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
|
||
| 18.12.2011, 18:58 | ||
|
Я тебе сказал, как делать хорошо, а как плохо. Это мое личное мнение. Если мои советы не работают - то это потому, что ты сам нихрена сделать не можешь. Я даю наводку на решение, а не реализацию.
0
|
||
|
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 10
|
|
| 20.12.2011, 18:59 | |
|
попробуй обновить сервер!
0
|
|
| 20.12.2011, 18:59 | |
|
Оцените мой код. Знания в Веб технологиях у меня не маленькие и опыт тоже!
Оцените мой первый сайт на php Проверка на дырки, мой первый работоспособный скрипт регистрации и авторизации Исправьте/добавьте, пожалуйста, в программе код, чтобы стала работающей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|