Забыли пароль?
Запросите новый здесь.

Автор темы: Razor
ID темы: 2340
Информация:
Тема содержит 12 сообщения, была просмотрена 12258 раз.  Имеются прикрепленные файлы.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Народное творчество
 Распечатать тему
My simple mvc
Razor
В общем как и обещал, выкладываю в паблик, может кому-то будет полезно. pull-реквесты приветствуются.
- GitHub Repo
Версия не лишена багов. Документация скудная, но стремительно пополняется, если вдруг кто-то решится юзать это дело и возникнут вопросы, пишите сюда, а лучше ко мне в блог, в комменты.
Скриншот прилеплю.

Требования:
php>=5.3.0
rewrite engine ON
mysql
Razor присоединено следующее:изображение:
_2014-10-09_175748.png

Изменил(а) Razor, 09.10.2014 12:02
Sr. Software developer
plesk.com
x3
 
spiker
Поставил, что-то не работает.
Если с индекса запускать
Error :404 - index.php not found
Code :0
File :Z:\home\simple\www\includes\Http\route.class.php
Line :45

Если с домена
Error :Db connection can't be initialized: required type, host, db name and user
Code :0
File :Z:\home\simple\www\includes\DB\db.class.php
Line :57


Что может быть?
OS Windows, сервер на Денвере

Ещё обратил внимание
define('BASE_PATH', dirname(realpath(__FILE__)) . '/');
............
............
require_once BASE_PATH.'/includes/Boot/bootstrap.php';

Слэш после require_once BASE_PATH как бы лишний.
 
Razor
Ты имеешь в виду с /index.php запускать?
Так нельзя, весь роутинг прокладывается через index.php, как и в любой mvc системе.. Т.е., чтобы запустить главную страницу например, просто пишем domainname/ либо domainname/index, без .php, в этом случае пробрасывается пусть к контроллеру Ctrl_Index, к методу ActionIndex(), если конечно не настроено никаких дополнительных роутов в route_map.ini.php.
По поводу этих ошибок, наверное действительно что-то с путями под виндой, т.е. это дело тестил только под иксами, завтра подыму на денвере под виндой, починю, спасибо за инфу.
upd:
Слеш кстати, как раз таки не лишний, везде пути прописаны без слеша..

Объединено 09.10.2014 20:16:
Всё, понялab
Не гоже mysql пользователя без пароля хранить, у меня там проверка была запилена на пустой парольab
Можешь либо обновиться из гита, либо в файле
File :Z:\home\simple\www\includes\DB\db.class.php, убери проверку на пустой пароль..
empty($this->defaults['pass']) or
Вот эту строку удалить.
Проверил, вроде работает.
p/s
последний раз под виндой сидел 2 года назад, очень непривычно после мака, такое ощущение что всё квадратное и каждый пиксель разглядеть можно..
Изменил(а) Razor, 09.10.2014 20:22
Sr. Software developer
plesk.com
 
spiker
Ага. Заработало.
А редирект с индекса на домен нельзя в .htaccess разве прописать?
Мы то народ древний, не продвинутый, привыкли всё с индекса запускать. Так же как и подключаться к базе без пароля ab

Администратор есть, админпанели нет. Новости есть, проверил, значит кто-то забивал... Или я что-то не понял?
 
Razor
spiker написал:

Ага. Заработало.
А редирект с индекса на домен нельзя в .htaccess разве прописать?
Мы то народ древний, не продвинутый, привыкли всё с индекса запускать. Так же как и подключаться к базе без пароля :)

Администратор есть, админпанели нет. Новости есть, проверил, значит кто-то забивал... Или я что-то не понял?

Это не CMS, эта штука представляет из себя как бы удобный конструктор для создания сайта, всё что тут есть это регистрация/авторизация пользователей. Новости сделаны просто для примера, чтобы показать как это работает, просто я ещё не дописал документацию, поэтому не совсем понятно для тех, кто не имел опыта работы с mvc системами.
Объясню на примере, т.е. если мы хотим сделать подробный просмотр новости по ссылке /news/look/{id}, достаточно для этого в нашем News_Ctrl.php(т.е. соответствующем контроллере для новостей) создать Action метод Look, а конкретнее
Загрузить источник  GeSHi: PHP
  1.  
  2. function ActionLook($id) {
  3. #$ id = автоматически принимает переданный get параметр /news/look/{id1}/{id2}
  4. #/news/ - это наш контроллер, /look/ - это Action-метод, id1,id2 - переданные get параметры, соответственно аргументы Action-метода
  5. }
  6.  
Добавлено за 0.034 секунд, используя GeSHi 1.0.8.10

Чтобы настроить кастомные роутинги, идем в /includes/http/route_map.ini.php и пишем Perl совместимое регулярное выражение, т.е. например мы хотим сделать страницу 404 для нашего сайта. Пишем соответствующую регулярку.
Загрузить источник  GeSHi: PHP
  1.  
  2. 'pattern' => '~^/404$~', #это паттерн yoursite/404
  3. 'controller' => 'Index', #это контроллер Ctrl_Index.php
  4. 'method' => '404', #и соответствующий метод Action404()
  5. ),
  6.  
Добавлено за 0.017 секунд, используя GeSHi 1.0.8.10

А если мы хотим например передать ещё список параметров в виде массива, тогда делаем нечто подобное, покажу на примере ну например категорий с постраничной навигации.
Загрузить источник  GeSHi: PHP
  1.  
  2. 'pattern' => '~^/category/([0-9]+)/([0-9]+)$~', #соответственно патерн urla вида yoursite/category/{cat_id}/{page_id}
  3. 'controller' => 'Index', # опять же мы хотим обрабатывать этот url с помощью Ctrl_Index контроллера
  4. 'method' => 'Category',# с помощью метода ActionCategory()
  5. 'aliases' => array('cat_id', #а это ключи массива, которые будут переданы в ActionCategory($array) в виде $array аргумента
  6. 'page_id')
  7. ),
  8.  
Добавлено за 0.018 секунд, используя GeSHi 1.0.8.10

Т.е. если мы передадим такую ссылку например yoursite/category/2/4
$array будет иметь вид [cat_id] =>2, [page_id]=>4

По поводу редиректа уточни, если я не ответил на вопрос..
Понемного я доделаю интерфейс для работы с пользователями, сейчас если пройдешь по ссылке /user/admin(предварительно залогинившись), увидишь его, просто я ссылки не проставил.
Уточни с редиректом, если я выше не ответил на вопрос, какого рода редирект нужен, а лучше на конкретном примере.
----------------------------
И я предлагаю дальнейшее обсуждение построить на конкретных примерах, так будет проще ознакомиться с возможностями этой штуки, спрашиваете как это сделать, я конкретно показываю как.
Изменил(а) Razor, 10.10.2014 11:24
Sr. Software developer
plesk.com
 
spiker
Уточни с редиректом, если я выше не ответил на вопрос, какого рода редирект нужен, а лучше на конкретном примере.

Я просто имел ввиду, когда открываешь index.php, чтобы перекидывало на домен.
Что-то типа
RewriteRule ^index.(php|html|htm)$ http://domain.ru/ [R=301,L]

в HTACCESS прописать
 
Rush
ай, ну это уже глупости. ручками в htaccess можешь прописать RewriteBase /dir/ (или как то так) а вообще апач уже прошлый век и тем более винда для ЛАМПа. Я бы сейчас наверное о*уел бы, если бы с линука пересел работать на винду
 
Web
spiker
....а вообще апач уже прошлый век и тем более винда для ЛАМПа. Я бы сейчас наверное о*уел бы, если бы с линука пересел работать на винду

Ну.. ещё с этой ерундой спорить начнём.
Консерватор я, да. Сила привычки.
Я и от Айфона, который мне подарили, быстро избавился, не моё это. И сосед мой, дедуля, всю жизнь ездит на Москвиче-412, хотя дети миллионеры... Не нужны, грит, мне все эти мерседесы.
Все люди разные. К чему этот выпендрёж, не пойму.
 
Rush
дело не в выпендреже, а удобстве работы. весь пхпшный стэк заточен под nix системы. на винде можно хотя бы виртуалку поставить, половина ошибок и косяков просто сразу бы исчезла
 
Web
Razor
spiker написал:

Уточни с редиректом, если я выше не ответил на вопрос, какого рода редирект нужен, а лучше на конкретном примере.

Я просто имел ввиду, когда открываешь index.php, чтобы перекидывало на домен.
Что-то типа
RewriteRule ^index.(php|html|htm)$ http://domain.ru/ [R=301,L]

в HTACCESS прописать

А, ну так и пишешь..
Например:
RewriteCond %{HTTP_HOST} ^www\.test\.ru$ [NC]
RewriteRule ^(.*)$ http://test.ru/$1 [R=301,L]

Собственно с этим проблем нет..
Sr. Software developer
plesk.com
 
Zaxap
Razor написал:
Версия не лишена багов.

Каких, например?
Зло не дремлет, а я добрый...
 
Razor
Zaxap написал:

Razor написал:
Версия не лишена багов.

Каких, например?

А вот найди, пошли pull-request, я исправлю и вместе поржемab
Sr. Software developer
plesk.com
x1
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
пишу движок с нуля. вопрос по структуре (запросы из index.php (а-ля mvc) или нет)  →  PHP 15 / 11580 25.12.2014 21:35
Плагин для get-simple  →  Платные услуги 1 / 3223 18.03.2013 15:08
Simple PM sound  →  Народное творчество 1 / 2579 22.10.2012 11:25
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)