PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (6): [1] 2 3 4 5 6 »

> Найдено сообщений: 85
metra Отправлено: 30 Октября, 2011 - 11:42:55 • Тема: mod_rewrite - непонятная ситуация • Форум: Вопросы новичков

Ответов: 6
Просмотров: 278
Прописал там

CODE (htmlphp):
скопировать код в буфер обмена
  1. <Directory "/var/www/">
  2. Options Indexes FollowSymLinks Includes MultiViews
  3. AllowOverride All
  4. Order allow,deny
  5. Allow from all
  6. </Directory>


Рестарт апача, тоже самое.
(Добавление)
Я по понимаю, если он не работает (модуль), то как доступ идет к index.php по http://dev/index
metra Отправлено: 30 Октября, 2011 - 11:07:23 • Тема: mod_rewrite - непонятная ситуация • Форум: Вопросы новичков

Ответов: 6
Просмотров: 278
Champion, тоже самое.
(Добавление)
При чем если стереть содержимое .htaccess - все равно по http://dev/index (именно так, без расширения php) - показывается вывод index.php. Это как вообще?
metra Отправлено: 30 Октября, 2011 - 10:54:18 • Тема: mod_rewrite - непонятная ситуация • Форум: Вопросы новичков

Ответов: 6
Просмотров: 278
Содержимое .htaccess:
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteEngine on
  2.  
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5.  
  6. RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]


При этом захожу по URL'ам http://dev/index - показывается вывод index.php, а если http://dev/sawf, или любая другая последовательность букв/цифр после домена - говорит, что нет такой страницы.

Но ведь по идее любой запрос должен приходить к файлу index.php в вставляться в $_GET['route']?
Вообще не понимаю в чем ошибка.

P.S.: Apache 2.2, PHP 5.3, local server
metra Отправлено: 14 Октября, 2011 - 18:31:59 • Тема: Подскажите, правильно ли я понимаю MVC • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 5271
В общем кому интересно выкладываю то что напечатал))

index.php
Спойлер (Отобразить)


classes/base.php
http://pastebin[dot]com/JDe6bXQU

classes/controller_base.php
Спойлер (Отобразить)


controllers/index.php
Спойлер (Отобразить)


Проблемы:
1. Если вызвать localhost/sdjhdg, вызывается
PHP:
скопировать код в буфер обмена
  1.  die('404 function not found.'.$class.'--------'.$action);

2. и вообще если писать название контроллера в URL, то скрипт воспринимает его как название функции главного контроллера.

Вообще мозги парятся... Весь день разбираюсь.
metra Отправлено: 14 Октября, 2011 - 14:01:00 • Тема: Подскажите, правильно ли я понимаю MVC • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 5271
В общем пока добавил ко всем методам класса static и переменным, добавил функцию getInstance - все по паттерну Singleton.

Работает.
metra Отправлено: 14 Октября, 2011 - 11:18:29 • Тема: Подскажите, правильно ли я понимаю MVC • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 5271
Начал писать с файла, описывающего все классы и с класса Registry для получения из любой точки роутер-файла любого компонента системы MVC.

Возник вопрос - как реализовывать данный инструмент (Registry)? Мне приходит на ум сделать так.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         class Registry {
  3.                 private $vars = array();
  4.  
  5.                 function set($key, $var) {
  6.                         if(isset(self::$vars[$key])) {
  7.                                 throw new Exception('Unable to set var `'.$key.'`. Already set.');
  8.                         } else {
  9.                                 self::$vars[$key] = $var;
  10.                                 return true;
  11.                         }
  12.                 }
  13.  
  14.                 function get($key) {
  15.                         if(!isset(self::$vars[$key])) {
  16.                                 return null;
  17.                         } else {
  18.                                 return self::$vars[$key];
  19.                         }
  20.                 }
  21.  
  22.                 function clean($key) {
  23.                         if(!isset(self::$vars[$key])) {
  24.                                 throw new Exception('Unable to clean var `'.$key.'`. Do not exist.');
  25.                         } else {
  26.                                 unset(self::$vars[$key]);
  27.                         }
  28.                 }
  29.         }
  30. ?>


Но читал про Singleton-паттерн, либо же просто сделать всех членов класса статическими и функции получения/записи/очищения тоже... Запутался.
metra Отправлено: 13 Октября, 2011 - 09:43:30 • Тема: Подскажите, правильно ли я понимаю MVC • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 5271
Как поставится TDE попробую реализовать. Позже отпишусь, спасибо.
metra Отправлено: 13 Октября, 2011 - 09:20:43 • Тема: Подскажите, правильно ли я понимаю MVC • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 5271
Stierus пишет:
1 Пользователь запрашивает урл и попадает в роутер
2. Роутер выбирает какой контроллер соответствует урлу, какой метод контроллера и какие параметры передать в этот метод контроллера
3. В методе контроллера выбирается нужная модель данных (если она нужна, она может быть нужна, может быть не нужна, их может быть нужно несколько). Контроллер работает с этой моделью, делает все. что нужно, получает какие-то данные из нее.
4. Контроллер выбирает нужную вьюху и передет ей необходиные для отображения данные (их может и не быть вообще, например, отдаа 404 ошибки)


Вот теперь стало проясняться.
Только вот в каких на пример ситуациях контроллер может при получении данных от модели, опять обратиться к ней?
И еще как контроллер в итоге передает данные для вывода представлению, если, на пример, в представлении нужен вывод данных массивом (страница новостей, на пример)?
metra Отправлено: 11 Октября, 2011 - 08:14:56 • Тема: Подскажите, правильно ли я понимаю MVC • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 5271
Viper, то есть контроллер выбирает к какой модели обратиться для обработки данных и логики приложения, далее модель после обработки возвращает результат контроллеру, а тот в свою очередь вызывает шаблонизатор и представление? Оо как все сложно
metra Отправлено: 11 Октября, 2011 - 06:21:18 • Тема: Вопрос по регистрации • Форум: Работа с файловой системой и файлами

Ответов: 8
Просмотров: 2369
К примеру как это реализовано в Linux - файл, в каждой строке которого логин:пароль:email:еще-что-то

Далее парсишь и все.

Но ИМХО CMS на файлах - прошлый век.
metra Отправлено: 11 Октября, 2011 - 06:14:00 • Тема: Подскажите, правильно ли я понимаю MVC • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 5271
Спасибо, вроде бы понял, но осталось непонятно где работает (на какой стадии) шаблонизатор и зачем представлению нужно обращаться к контроллеру и к какому?

metra Отправлено: 10 Октября, 2011 - 18:10:33 • Тема: Подскажите, правильно ли я понимаю MVC • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 5271
Перечитал порядка 10 статей на тему объяснения сущности MVC, и в частности с примерами реализации на PHP, но кажется, не до конца понимаю.
Нарисовал схему как я понимаю данный паттерн - пожалуйста, раскритикуйте и поправьте, если что не так.



Конкретно что мне сейчас не понятно все еще:
1. Где я потерял в схеме view?
2. Что-то читал про "толстые контроллеры", и что это плохой подход к программированию, когда в контроллерах идет обработка и выборка из базы и пр. Правда ли?
metra Отправлено: 25 Сентября, 2011 - 23:33:14 • Тема: Разрешите ситуацию • Форум: Объектно-ориентированное программирование

Ответов: 8
Просмотров: 2759
caballero, спасибо, попытаюсь реализовать до конца данный концепт. Я немного измененную суть моего концепта, описанного в первом сообщении прорабатывал на стадии "каракули в тетрадке аля проектирование", но счел данный способ нелогичным, обратное мнение пришло сейчас только.
metra Отправлено: 25 Сентября, 2011 - 22:56:10 • Тема: Разрешите ситуацию • Форум: Объектно-ориентированное программирование

Ответов: 8
Просмотров: 2759
Хотелось бы услышать мнение профессионалов, кто не раз сталкивался с реальными фреймворками самописными.
metra Отправлено: 24 Сентября, 2011 - 15:50:00 • Тема: Разрешите ситуацию • Форум: Объектно-ориентированное программирование

Ответов: 8
Просмотров: 2759
caballero, спасибо, видимо прощелкал этот момент в ООП.
(Добавление)
Вообще как подход с написанию фреймворка только для себя (изначально так задумывалось) - для более быстрой разработки и последующей доработки сайтов клиентских?

Т.е. создается объект главный - page, далее создаются и рендерятся все блоки, при чем если в блоке есть вложеные блоки, там происходит так же, только за главный объект уже выступает блок-родитель, далее рендерится (выводится на экран просто) что получилось в итоге, ибо каждый блок когда рендерит возвращает объекту-родителю html код.

Страниц (6): [1] 2 3 4 5 6 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB