![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
neoks |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
Хотел спросить о безопасности использования.
В функциях использую вот такой код.
Так вот, можно ли ее использововать не боясь о безопасности и как можно написать правильно. |
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Данная функция не влияет на безопасность.
Данная функция влияет на качество кода, превращая его в типичную бейсикоподобную лапшу. Проще говоря в ###код. Постарайся свести количество глобальных переменных к 1($application). $application = new Application(); $application->start(); |
|||
|
||||
neoks |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
Вот что вышло
Как я понял это класс которого не существует. |
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
|
|||
|
||||
neoks |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
Что то не совсем понял зачем этот класс.
Ситуация такая, есть функция и вней некий код которому нужны слассы подклучения к mysql и другие переменные. Но есть одно но, чтоб получить к ним доступ нужно в функции прописывать global ... ; Вот долго не думая решил прописать extract($GLOBALS);, но вот теперь сомневаюсь в безопасности этого метода. В нете искал не чего толкого не нашол, вот и спросил ![]() |
|||
|
||||
Absinthe |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Допустим если ты только учишь PHP и не используешь ООП - то тебе понадобится, к примеру, global $db; Пишешь так:
Но это исключение для объектов типа $db или $config. Наличие слова global в коде говорит о его плохом качестве. Если нужны другие данные - передавай их в функцию: function getContents($itemsData, $template) {} |
||||
|
|||||
neoks |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
Absinthe
Я не такой уж новичок, я знаю все тонкости функций но тут столкнулся с проблемой. Я использую два вида контента для AJAX и PHP и ясен красен мне приходится использовать некую конструкция для проверки, мов если оброшяется AJAX то выводить в печать, если файл подключается то запихивать в некую переменную. Ну и я чтоб запомнить и каждый раз не писать код для проверки я сделал функцию, но сразу столкнулся с проблемой. Вот и решил спросить в правильности такой конструкции extract($GLOBALS), global не подходит из за того что для каждого кода придется прописывать свой global. |
|||
|
||||
нуп |
|
|||
![]() Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: нет Всего: 33 |
||||
|
||||
Absinthe |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Если да, то советую читать это: http://forum.vingrad.ru/forum/topic-330866...ule-system.html
Это сообщение отредактировал(а) Absinthe - 10.6.2011, 16:53 |
||||
|
|||||
neoks |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
Да, это движок cms, но я сделал оригинальную идею один файл подключаю для AJAX и PHP. У стандартных движках идет стандартный вывод, один файл для AJAX и один для PHP но отличия между ними нет. Ну вот я решил отказаться от двух файлов сделал один, а результат вывожу через функцию, ах да забыл сказать из головы вообще вылетело. Результат я пихая через eval.
|
||||
|
|||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
2) Но не оригинальная. 3) И в исполнении подкачал. Делать так: если запрос аяксовый(определяется либо по заголовкам, либо через роутинг), то отдаешь data, если нет - то рендеришь data в шаблон и отдаешь уже html. Это сообщение отредактировал(а) Absinthe - 10.6.2011, 17:36 |
|||
|
||||
neoks |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
Я сначала так и сделал, в каждый файл писал вот такой код.
Но потом решил облегчить себе задачу сделав такой меленький код.
Так ведь легче будет запомнить, но сомневаюсь в безопасности и правильности этого метода. |
||||||
|
|||||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
|
|||
|
||||
neoks |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: нет Всего: 1 |
А зачем там прописана функция eval чтоб превратить html код в исполняемый php код и этому коду нужно будет $db или хз что еше. ![]() |
|||
|
||||
Absinthe |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Тебе надо либо в ясоне даные отдавать, либо html. Зачем eval то?
Задавай вопросы про eval и $db - отвечу, где ты накосячил. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |