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

Автор темы: Zaxap
ID темы: 2402
Информация:
Тема содержит 16 сообщения, была просмотрена 10538 раз.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » PHP
 Распечатать тему
пишу движок с нуля. вопрос по структуре (запросы из index.php (а-ля mvc) или нет)
Zaxap
Понадобилось для одного общего проекта написать движок (не использовать же жирные cms или, возможно, дырявые чужие продукты для практически одностраничного сайта...)
Решил сделать все с нуля, дабы понимать, что вообще происходит (чужой код - это, зачастую, ад с черными дырами;)) - разработал структуру, и все такое...
Соорудил форму регистрации, логина (конечно, таблицы в бд - все, как у людей), функцию проверки "авторизован ли пользователь", также нашел и переделал под себя шаблонизатор (на ООП) в 55 строк кода... - в общем, минимализм))
Вопрос встал на том, как это все запускать... кто-то тут где-то тут писал об устройствах mvc-фреймворков - через index.php все идет... недолго думая, сделал такой index.php (в общем, черт его знает - понимание сего у меня было буквальным*tam*):
Загрузить источник  GeSHi: PHP
  1. <?php
  2. $start_time = microtime(true);
  3.  
  4. if(isset($_GET['page']) && $_GET['page'] != ''){
  5.  
  6. require_once $_GET['page'].'.php';
  7.  
  8. }
  9.  
  10. $time = microtime(true)-$start_time.' sec.';
  11. $memory = (!function_exists('memory_get_usage')) ? '' : memory_get_usage()/1048576 .'MB';
  12.  
  13. echo $time,' || ',$memory;
Добавлено за 0.030 секунд, используя GeSHi 1.0.8.10


то есть, есть скрипт login.php - его я запускаю так: ?page=login (или index.php?page=login);
если надо сделать login.php?logout - выходит ?page=login&logout...
тут у меня встает один большой вопрос: а зачем? о.о
ну... мне так кажется красивее и.. солиднее... ахах) ну чпу - это дело второе, а вот из чего его делать - это вопрос...

в общем, помогите человеку) как сделать лучше, и как сделать правильнее?
Зло не дремлет, а я добрый...
 
Polarfox
Скачать исходники  Код
if(isset($_GET['page']) && $_GET['page'] != ''){
 
require_once $_GET['page'].'.php';
 
}



это не совсем корректно...

а вопрос не совсем понял, даже совсем не понял.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме

PolarLab - вход для подопытных
 
Web
Rush
странное мнение, странный вопрос. почему ты уверен, что сможешь сам написать лучше? зачем писать новые велосипеды когда есть куча опенсорс на том же гитхабе/пакаджисте? https://packagist.../?q=router
 
Web
Zaxap
Rush, не лучше, а понятнее. грубо говоря, я пытаюсь применить все полученные при чтении php.net, habrahabr'е и прочих знания на практике...
Если всегда использовать что-то чужое, то толку... да и у каждого свое видение кода.

Вопрос в том, чтобы... редиректить ли с index.php вот так вот (ну или как это делается вообще)... просто решил спросить у знающих, у людей... ну и спросить, упустил ли что... может, есть что-то еще... обязательное... хм..
Зло не дремлет, а я добрый...
 
SchreiBear
Zaxap, aiтут без пузыря не разберешься...поду открою бутылку...ты про вход наверное...если да...то тут не нажно через что ...черз index.php или default.php
Изменил(а) SchreiBear, 23.12.2014 10:38
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
Rush
умение читать чужой код важнее чем умение читать мануал или хабр. посмотри как сделано в нормальных либах или фреймворках.
роутер - компонент отвечающий за разбор урла страницы и вызов соответствующего обработчика
Скачать исходники  Код
?page=login



?page= можно обрезать, зачем оно тебе? останется просто login и пара строк в htaccess для редиректа всего на index.php, где разбираешь REQUEST_URI и т.д.
x1
 
Web
SchreiBear
Zaxap, вот скачай чат BLB! 7.1 вот тут минимализм по полной http://hot-things....php?sid=2 у этих ребят есть чему поучиться... почти нет гнилого кода
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
Zaxap
Rush, спасибо! Ну про обрезать - так и хотел в дальнейшем...
В общем-то, начал копать index.php только из-за чьего-то поста тут на форуме в стиле "какое-то неправильное у вас ЧПУ... все должно идти от index.php, который, в свою очередь, будет бла-бла-бла"...
А чужой код тоже активно разбирается (одно дело 2-5 файлов за раз на одну тему, другое - движок)... но это уже другая история... спасибо ab

SchreiBear, спасибо, гляну) Правда, это не значит, что мой почти доделанный движок (точнее, его скелет) полетит в небытие... это как бы "поучиться", как уже было сказано dm
Зло не дремлет, а я добрый...
 
Rush
SchreiBear написал:

Zaxap, вот скачай чат BLB! 7.1 вот тут минимализм по полной http://hot-things....php?sid=2 у этих ребят есть чему поучиться... почти нет гнилого кода


Загрузить источник  GeSHi: PHP
  1. if(isset($_POST['sett2'])){$p2=(int)$_POST['sett2'];}else{$p2=0;}
  2. if(isset($_POST['sett3'])){$p3=(int)$_POST['sett3'];}else{$p3=0;}
  3. if(isset($_POST['sett4'])){$p4=(int)$_POST['sett4'];}else{$p4=0;}
  4. if(isset($_POST['sett5'])){$p5=(int)$_POST['sett5'];}else{$p5=0;}
  5. if(isset($_POST['sett6'])){$p6=(int)$_POST['sett6'];}else{$p6=0;}
  6. if(isset($_POST['sett7'])){$p7=(int)$_POST['sett7'];}else{$p7=0;}
  7. if(isset($_POST['sett8'])){$p8=(int)$_POST['sett8'];}else{$p8=0;}
  8. if(isset($_POST['sett9'])){$p9=(int)$_POST['sett9'];}else{$p9=0;}
  9. if(isset($_POST['sett10'])){$p10=(int)$_POST['sett10'];}else{$p10=999;}
  10. $pp=$p0.'z'.$p1.'z'.$p2.'z'.$p3.'z'.$p4.'z'.$p5.'z'.$p6.'z'.$p7.'z'.$p8.'z'.$p9.'z'.$p10;
Добавлено за 0.033 секунд, используя GeSHi 1.0.8.10


Загрузить источник  GeSHi: PHP
  1. if(isset($_POST['default_effects']) && $_POST['default_effects']!=$settings['default_effects']){
  2. $default_effects=neutral_escape($_POST['default_effects'],1,'int');
  3. $query='UPDATE '.$dbss['prfx']."_settings SET set_value='$default_effects' WHERE set_id='default_effects'";
  4. neutral_query($query);}
  5.  
  6. if(isset($_POST['default_sound1']) && $_POST['default_sound1']!=$settings['default_sound1']){
  7. $default_sound1=neutral_escape($_POST['default_sound1'],1,'int');
  8. $query='UPDATE '.$dbss['prfx']."_settings SET set_value='$default_sound1' WHERE set_id='default_sound1'";
  9. neutral_query($query);}
  10.  
  11. if(isset($_POST['default_sound2']) && $_POST['default_sound2']!=$settings['default_sound2']){
  12. $default_sound2=neutral_escape($_POST['default_sound2'],1,'int');
  13. $query='UPDATE '.$dbss['prfx']."_settings SET set_value='$default_sound2' WHERE set_id='default_sound2'";
  14. neutral_query($query);}
  15.  
  16. if(isset($_POST['default_sound3']) && $_POST['default_sound3']!=$settings['default_sound3']){
  17. $default_sound3=neutral_escape($_POST['default_sound3'],1,'int');
  18. $query='UPDATE '.$dbss['prfx']."_settings SET set_value='$default_sound3' WHERE set_id='default_sound3'";
  19. neutral_query($query);}
Добавлено за 0.035 секунд, используя GeSHi 1.0.8.10


сомневаюсь что это можно отнести к хорошему коду, обычный процедурный говнокод, так что не стоит давать плохих советов.
x1 x1 x1 x1
 
Web
SchreiBear
Rush, да ну уж прям...чужое всегда легче осудить чем своё написать... остаюсь при своём мнении ...код у них отличный... ты в фузион загляни и покретикуй
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
Rush
конечно легче, непонятно к чему это ты вообще.

пример все же лучше брать с лучших представителей, например из списка топа репозиторий гитхаба https://github.co...positories, а не с какого-то ноунэйм движка чата без какой-либо архитектуры и логики в коде
 
Web
SchreiBear
Rush, в фузионе чудес не меньше...ток что то особо не кто не критикует
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
Rush
так причем тут фьюжн? про него речь вообще не шла
 
Web
SchreiBear
Rush, ну так не кто и blab не обсуждалag
Изменил(а) SchreiBear, 23.12.2014 21:00
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
Rush
что за бред, ты же сам про него заговорил
 
Web
SchreiBear
Rush, да я написал...я это помню... ну я так же помню, что я не кого не просил его обсуждать
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 

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

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
какие функции надо переписать для PHP 7?  →  Пожелания и предложения 7 / 6841 24.03.2020 13:45
PHP-Fusion 7 Bogatyr - бесплатная мультиязычная CMS для блога, форума, фотогалереи  →  Моды 20 / 15894 17.03.2020 19:59
Кто делал гибрид Wordpress и PHP-Fusion?  →  Пожелания и предложения 3 / 296 08.03.2020 15:50
Какой плагин PHP-Fusion уместно использовать для создания сайта КВИЗа?  →  Пожелания и предложения 1 / 460 18.02.2020 15:14
Добавление Ваших сайтов на php-fusion на сайт!  →  Новости и объявления 1 / 2512 24.01.2020 06:14
Глубокая модернизация комментариев в PHP-Fusion  →  Моды 1 / 418 19.11.2019 18:16
Если есть ошибка в теме или панели PHP-Fusion то мы часто видим белый экран  →  Пожелания и предложения 9 / 7233 21.10.2019 09:29
PHP-Fusion 8  →  Установка и настройка системы 24 / 3723 09.08.2019 10:12
PHP-7  →  Установка и настройка системы 17 / 11976 19.02.2019 09:08
Перенести контент PHP Fusion на Wordpress  →  Платные услуги 1 / 772 01.02.2019 16:31
Топ 5 пользователей форума
Alex Alex (1,219)   Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)