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

Автор темы: Zaxap
ID темы: 2402
Информация:
Тема содержит 16 сообщения, была просмотрена 10644 раз.
Просмотр темы
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.043 секунд, используя 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.052 секунд, используя 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.047 секунд, используя 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-Fusion 8  →  Разное 6 / 307 21.10.2020 14:13
Помогите отключить часть кода в user_info_panel.php  →  Вопросы новичков 5 / 300 05.10.2020 15:16
Как вебмастеру сформулировали УТП для создания сайтов на PHP-Fusion?  →  Пожелания и предложения 1 / 2067 25.07.2020 03:46
какие функции надо переписать для PHP 7?  →  Пожелания и предложения 15 / 8025 12.07.2020 07:19
SEO-оптимизация. дубли страниц в PHP-Fusion - где искать и как избавиться?  →  Ошибки, баги 0 / 577 19.06.2020 17:06
PHP-Fusion 7 Bogatyr - бесплатная мультиязычная CMS для блога, форума, фотогалереи  →  Моды 20 / 16821 17.03.2020 19:59
Кто делал гибрид Wordpress и PHP-Fusion?  →  Пожелания и предложения 3 / 634 08.03.2020 15:50
Какой плагин PHP-Fusion уместно использовать для создания сайта КВИЗа?  →  Пожелания и предложения 1 / 964 18.02.2020 15:14
Добавление Ваших сайтов на php-fusion на сайт!  →  Новости и объявления 1 / 3077 24.01.2020 06:14
Глубокая модернизация комментариев в PHP-Fusion  →  Моды 1 / 625 19.11.2019 18:16
Топ 5 пользователей форума
Alex Alex (1,237)   Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)