Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
0 / 0 / 4
Регистрация: 06.10.2013
Сообщений: 181

Реализация autoload на mvc

30.01.2015, 15:02. Показов 3767. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как мне избавится от include в моем маршрутизаторе, и реализовать функцию autoload для автоматической загрузки классов. Вот мой маршрутизатор:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class Route
{
    static function start()
    {
        $controller_name = 'Main';
        $action_name = 'index';
        $routes = explode('/', $_SERVER['REQUEST_URI']);
        if ( !empty($routes[1])){   
            $controller_name = $routes[1];
        }
        if ( !empty($routes[2])){
            $action_name = $routes[2];
        }
        $model_name = 'Model'.$controller_name;
        $controller_name = 'Controller'.$controller_name;
        $action_name = 'action'.$action_name;
        $model_file = strtolower($model_name).'.php';
        $model_path = "application/models/".$model_file;
        if(file_exists($model_path)){
            include "application/models/".$model_file;
        } 
        $controller_file = strtolower($controller_name).'.php';
        $controller_path = "application/controllers/".$controller_file;
        if(file_exists($controller_path)){
            include "application/controllers/".$controller_file;
        } else {
            Route::ErrorPage404();
        }  
       $controller = new $controller_name;
        $action = $action_name;
        if(method_exists($controller, $action)){
            $controller->$action();
        } else {
            Route::ErrorPage404();
        }
    } 
    static function ErrorPage404()
    {
        echo "<img src='images/404.png' alt='404'>";
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.01.2015, 15:02
Ответы с готовыми решениями:

Autoload на mvc
Доброго времени суток! Подскажите пожалуйста, нет ли у кого примера route в реализации php, чтобы там была реализована функция __autoload....

Реализация CRUD MVC
Здравствуйте. Извиняюсь за глупый вопрос, может не правильно формулирую и вообще не о том думаю, но все же прошу направить в нужное...

Грамотная реализация MVC ООП
Доброе утро всем, уже вторые сутки лазию в просторах интернета и не могу найти нормальную реализацию MVC ООП, без ООП нашел, но все жи...

27
Заблокирован
17.02.2015, 19:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от OnYourLips Посмотреть сообщение
А есть нубы, которые не понимают этого.
А можете спуститься с небес и объяснить нам сирым и убогим. Ссылочку кинуть, ну где просветление всех нас ждет или, нижайше, прошу, примерчик набросайте.. Есть класс А и класс B, которые в разных пространствах имен. Как в коде класса А создать в разных методах объект класса B без использования include? ТС об этом спрашивал? Функция-загрузчик уже зарегистрирована. Конечно, желательно, с использованием композера. В этой теме вы же на его использование напираете. Пожалуйста. Ждем..
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
17.02.2015, 19:19
Цитата Сообщение от root Посмотреть сообщение
А можете спуститься с небес и объяснить нам сирым и убогим. Ссылочку кинуть, ну где просветление всех нас ждет или, нижайше, прошу, примерчик набросайте.. Есть класс А и класс B, которые в разных пространствах имен. Как в коде класса А создать в разных методах объект класса B без использования include? ТС об этом спрашивал? Функция-загрузчик уже зарегистрирована. Конечно, желательно, с использованием композера. В этой теме вы же на его использование напираете. Пожалуйста. Ждем..
Из моего последнего проекта:
PHP
1
2
3
4
5
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        }
    },
0
Заблокирован
17.02.2015, 19:29
Цитата Сообщение от OnYourLips Посмотреть сообщение
"autoload": {
* * * * "psr-4": {
* * * * * * "App\\": "app/"
* * * * }
* * },
вы не отвлекайтесь, тут форум php, или вы хотите убежать в написание конфигурационных файлов формат которых был придуман для js? И когда же мы увидим композер? Не слишком ли много для для упрощения разработки?

Я просил конкретный простой пример для нубов
1
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
17.02.2015, 19:38
Цитата Сообщение от root Посмотреть сообщение
тут форум php, или вы хотите убежать в написание конфигурационных файлов формат которых был придуман для js?
Тебе показалось.
https://en.wikipedia.org/wiki/JSON: JSON is a language-independent data format

Цитата Сообщение от root Посмотреть сообщение
Я просил конкретный простой пример для нубов
Он и есть, полностью рабочий. Этого конфига достаточно на приложение для автозагрузки.

Цитата Сообщение от root Посмотреть сообщение
И когда же мы увидим композер?
Это часть файла composer.json.

Цитата Сообщение от root Посмотреть сообщение
Не слишком ли много для для упрощения разработки?
Никто не говорил, что это проще изучать. Сложнее. Но однозначно проще применять.
С приобретением опыта поймешь, но гонор свой ты бы поубавил.
0
Заблокирован
17.02.2015, 20:04
Цитата Сообщение от OnYourLips Посмотреть сообщение
Тебе показалось.
Не показалось, формат независимый, но разрабатывался для js. Ваша же ссылка об этом же говорит. Кстати вменяемость разработчиков композера, написанного на php, вызывает сомнения, только лишь потому, что конфиги для своей программы они пишут в JSON. Нативный php в виде массивов, хотя бы, не требует дополнительного парсинга. Но композер меня не интересует..
Конкретная тема. Для вас, я даже адаптировал вопрос от ТС. Ответа не будет? Опять пустые разговоры про красоту высоких материй и низость нубов? ну.. забавно..

Цитата Сообщение от OnYourLips Посмотреть сообщение
но гонор свой ты бы поубавил.
обраточка - ваш пустой пафос и ни одного конкретного ответа
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
17.02.2015, 20:07
Цитата Сообщение от root Посмотреть сообщение
Не показалось, формат независимый, но разрабатывался для js.
И что с того? PHP вовсе разрабатывался как шаблонизатор.
А применяются эти вещи иначе.

Цитата Сообщение от root Посмотреть сообщение
вызывает сомнения, только лишь потому, что конфиги для своей программы они пишут в JSON
Тогда YAML еще не был популярен. Иначе был бы YAML.

Цитата Сообщение от root Посмотреть сообщение
Для вас, я даже адаптировал вопрос от ТС. Ответа не будет?
Я уже дал конкретный прекрасно работающий ответ.
Читай документацию по composer до тех пор, пока его не поймешь.

Добавлено через 21 секунду
Цитата Сообщение от root Посмотреть сообщение
и ни одного конкретного ответа
Ложь.
0
Заблокирован
17.02.2015, 20:09
Цитата Сообщение от OnYourLips Посмотреть сообщение
Читай документацию по composer до тех пор, пока его не поймешь.
возвращаемся к началу темы: Читай черновики Льва Толстого и поймешь суть. Ни одного конкретного ответа!

Был конкретный вопрос, вы даже адаптированную версию вопроса не поняли
1
8 / 8 / 5
Регистрация: 24.09.2014
Сообщений: 62
17.02.2015, 22:58
root, от Вас я узнал много нового про Composer, но все равно буду им пользоваться, свой подобный autoloader сложновато будет сделать (лично для меня).

Добавлено через 3 минуты
Короче я не в теме, а вы продолжайте, я может еще что-то новое узнаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.02.2015, 22:58

MVC- грамотная реализация модели
Здравствуйте! Осваиваю ООП+MVC, брал пример из http://habrahabr.ru/post/150267/ Хочу научиться вести порядок у себя в классах, по всем...

MVC. Изменения в таблицах. реализация метода set
Здравствуйте уважаемые программисты. Прошу у Вас помощи. Задача: реализовать метод set, который будет изменять имя и все это с помощью...

Namespace and autoload
Здравствуйте! Не самостоятельно разобраться. Прошу помочь. Ситуация такая: У меня есть класс, который определен в пространстве имен....

Реализация паттерна MVC
Доброго времени суток. Допустим у меня есть класс Database в котором 2 метода: class Database { public OleDbConnection...

Реализация и создание DropDownList в MVC 4
Кто поможет мне сделать DropDownList для папок в MVC4, мне надо чтоб в дропе были видны все папки которые находятся в деректории...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru