Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Для профи > Создание скрипта


Автор: NNaarreekk 25.11.2008, 22:08
Приветствую профессионалов РНР!
Вот впервые осмелился зайти сюда, а до этого в общем разделе писал.

Часто ловлю себя на мысли что пишу код который уже писал, но не могу просто скопировать потому что слишком много всего придется менять....

Вот и пришла идея написать такой скрипт чтоб работал одним инклудом.
Но так чтоб при первой загрузке базы сами устанавливались, дизайн изменялся (с помощю программера конечно), и т.д. и т.п.

Ну скажем скрипт логинацыи. На сате пишем include('login/login.php'); и копируем папку login в папку нашего сайта.

Главные вопросы:
1. Скрипт должен различать первую загрузку от остальных
2. Создание базы
3. БЕЗОПАСНОСТЬ

Какие идеи?

Автор: Vaulter 25.11.2008, 23:34
Цитата(NNaarreekk @  25.11.2008,  23:08 Найти цитируемый пост)
Какие идеи?

пока только вопросы, например, сколько платят smile
 smile 

Автор: ksnk 25.11.2008, 23:51
Можно поковыряться в разных CMS. По идее таким свойством обладают плагины к ним. smile

Автор: skyboy 26.11.2008, 01:02
Цитата(NNaarreekk @  25.11.2008,  21:08 Найти цитируемый пост)
Скрипт должен различать первую загрузку от остальных

так же, как и в С реализовано: делаешь define константы с замысловатым именем при первом запуске. потом если константа уже есть - вызов происходит не первый раз. это вариант 1.
static переменная, которая обретает значение только при первом обращении, а при последующих уже имеет некое значение. это вариант 2.
честно говоря, не понял, зачем тебе это понадобилось.
Цитата(NNaarreekk @  25.11.2008,  21:08 Найти цитируемый пост)
Вот и пришла идея написать такой скрипт чтоб работал одним инклудом.

не смешно. так или иначе тебе придется передавать параметры - либо посредством констант в своем "конфиге", либо явно инициализируя необходимые константы. так чем подход отличается от написания достаточно уиверсальной(с немалым количеством параметров) функции? или двух связанных между собой логически функций?

Автор: NNaarreekk 26.11.2008, 23:04
Цитата(Vaulter @  26.11.2008,  01:34 Найти цитируемый пост)
пока только вопросы, например, сколько платят

Это я для себя, не если поможешь пивом угощу (когда в Армению приедешь);)


Цитата(ksnk @  26.11.2008,  01:51 Найти цитируемый пост)
Можно поковыряться в разных CMS

Моя самая главная цель, чтоб без ЦМС-а обойтись. Ну вообще я сначала хотел CMS написать, а потом понял что зря время потрачу, а с такие скрипты всегда будут полезны!


Цитата(skyboy @  26.11.2008,  03:02 Найти цитируемый пост)
static переменная, которая обретает значение только при первом обращении

Ну define для меня если чстно загадка, не знаю как работает, но в целом представляю конечный результат.
А второй вариант довольно интересный...Тока я не понимаю где будет храниться эта переменная.


Цитата(skyboy @  26.11.2008,  03:02 Найти цитируемый пост)
не смешно. так или иначе тебе придется передавать параметры - либо посредством констант в своем "конфиге", 

Вот кайф-то в этом, что пишеш сайт инклудишь этот файл, а при первой загрузке открывается форма с этими самими настройками...Пишешь что надо, сохраняешь и все smile 


Цитата(skyboy @  26.11.2008,  03:02 Найти цитируемый пост)
или двух связанных между собой логически функций? 

как бы сказать помягче.... я не знаю смысл последних двух слов smile 

Автор: youri 29.11.2008, 12:39
ну если ты хочешь, чтобы форма выдавалсь, пока не будут указаны настройки, а нстаройки будут храниться в бд
то при вызове скрипта надо смотреть, есть ли в бд настройки, если нет - выдаешь форму для задания настроек, иначе - форму логина
p.s. но я бы на твоем месте так не делал smile

Автор: NNaarreekk 30.11.2008, 02:12
Цитата(youri @  29.11.2008,  14:39 Найти цитируемый пост)
если нет - выдаешь форму для задания настроек, иначе - форму логина

Ну это понятно, ведь для создания таблицы в базе, нужно хотяб пароль ввести


Цитата(youri @  29.11.2008,  14:39 Найти цитируемый пост)
p.s. но я бы на твоем месте так не делал 

В чем проблема?

Автор: youri 30.11.2008, 16:53
Цитата(NNaarreekk @  30.11.2008,  02:12 Найти цитируемый пост)
Ну это понятно, ведь для создания таблицы в базе, нужно хотяб пароль ввести

да, не подумал, еще ж таблицу создать надо
Цитата(NNaarreekk @  30.11.2008,  02:12 Найти цитируемый пост)
Цитата
Цитата(youri @  29.11.2008,  14:39 )p.s. но я бы на твоем месте так не делал

В чем проблема?

Меня смущает, что сайт включает в себя что-то типа "инсталляшки", даже пусть она будет деактивирована. Обычно такие штуки удаляются после установки. Или лишний код и будет удаляться? Тогда не так просто пользоваться этой формой будет. Почему тогда не сделать инсталляшку? И все равно надо будет дизайн исправлять, как минимум.
Лучше имхо позаботиться, чтобы эту форму было легко изменить, а не легко добавлять. smile 

Автор: NNaarreekk 30.11.2008, 17:20
Цитата(youri @  30.11.2008,  18:53 Найти цитируемый пост)
Лучше имхо позаботиться, чтобы эту форму было легко изменить, а не легко добавлять.   

А если будет легко добавлять и легко изменять это будет еще лучше правда;)

Вопрос ко всем. Что вы делаете если нужно в сайт добавить что-то, что вы уже делали на другом сайте?

Автор: youri 30.11.2008, 17:35
Цитата(NNaarreekk @  30.11.2008,  17:20 Найти цитируемый пост)
А если будет легко добавлять и легко изменять это будет еще лучше правда;)

не бывает, чтобы все легко было. Если есть легко, значит есть и сложно
Меня больше всего смущает, что этот "код инсталляции/настройки" смешивается с кодом сайта. Вот я и разобрался, чем мне такое решение не нравиться. )) Связанность (cohesion) у тебя низкая, а наоборот должно быть

Автор: NLspieler 30.11.2008, 18:36
Разрабатывая скрипты, я использую большое количество самодельных функций. 
Для удобства, каждая функция помещается в файл имя_функции.inc
Вначале скрипта, все необходимые функции включаются в скрипт, при помощи стандартной функции include. 

Всем остальным тоже так советую делать. 
Во-первых, эти функции можно легко использовать в других скриптах. 
Во-вторых, очень легко исправлять ошибки, т.к. достаточно бывает сделать исправление всего в одном файле с функцией.  
В-третьих, повышается читабельность php файлов, т.к. в них отсутствует море кода, которое хранится в функциях.


Автор: youri 30.11.2008, 18:39
Цитата(NLspieler @  30.11.2008,  18:36 Найти цитируемый пост)
Для удобства, каждая функция помещается в файл имя_функции.inc

Если это какая-то форма или эламент страницы, в общем шаблон, то возможно
Для всех функций я бы не обощал

Автор: bars80080 30.11.2008, 19:01
Цитата(NLspieler @  30.11.2008,  17:36 Найти цитируемый пост)
Для удобства, каждая функция помещается в файл имя_функции.inc

а почему было не сделать ещё удобнее и не засунуть их в один файл? (ну или в несколько по темам, что-то нужно в админке, что-то в скриптах магазина, а что-то в скриптах форума)

Автор: NLspieler 30.11.2008, 19:06
bars80080

Пробовал. Но тогда, почему-то возникает ошибка. 

Сделал вывод, что на используемом мною хостинге, можно инклюдить файлы только ограниченного размера.     

Автор: Smith 30.11.2008, 19:26
фреймворк на основе mvc-модели - решение ваших проблем

Автор: youri 1.12.2008, 02:15
Цитата(NLspieler @  30.11.2008,  19:06 Найти цитируемый пост)
Сделал вывод, что на используемом мною хостинге, можно инклюдить файлы только ограниченного размера.   

не бывает таких ограничений

Автор: NNaarreekk 1.12.2008, 23:28
Цитата(Smith @  30.11.2008,  21:26 Найти цитируемый пост)
фреймворк на основе mvc-модели - решение ваших проблем 

А это решение моей проблемы или NLspieler-а??


NLspieler, спасибо за идею, наверно в этом направлении и начну.

Автор: Smith 2.12.2008, 19:17
Цитата(NNaarreekk @ 1.12.2008,  23:28)
Цитата(Smith @  30.11.2008,  21:26 Найти цитируемый пост)
фреймворк на основе mvc-модели - решение ваших проблем 

А это решение моей проблемы или NLspieler-а??


NLspieler, спасибо за идею, наверно в этом направлении и начну.

вашей-вашей

Автор: NNaarreekk 2.12.2008, 21:34
Цитата(Smith @  2.12.2008,  21:17 Найти цитируемый пост)
вашей-вашей 

Ну если моей то попрошу поподробнее smile 

Автор: Цербер 9.12.2008, 13:58
NNaarreekk юзай Code Igniter и будет тебе счастье=))
вот ман на  русском http://code-igniter.ru/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)