Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Где/как лучше валидировать данные [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
Мелкий Супермодератор
Отправлено: 29 Мая, 2012 - 20:44:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




etoYA пишет:
Если б я знал что это такое)).

Включая обычные замыкания $func = function($arg) {/**/}; и create_function, так и вызов обычных функций просто по имени, переданным переменной.
http://ru.php.net/manual/ru/lang...pes.callable.php


-----
PostgreSQL DBA
 
 Top
etoYA
Отправлено: 29 Мая, 2012 - 20:46:45
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Если следовать тому, как написал caballero, то это нужно делать в контроллере. Ну или в отдельной модели, вот я сделал в контроллере.

before (Отобразить)

after (Отобразить)


Как не крути, огромное спасибо sKaa! Этот вариант очень удобен). Так как не надо переписывать кучу текста (типа "Введите логин").
(Добавление)
Мелкий, спасибо, уже почитал)). Правда на этом форуме).

(Отредактировано автором: 29 Мая, 2012 - 20:53:57)

 
 Top
etoYA
Отправлено: 30 Мая, 2012 - 01:43:51
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Вынес константы в отдельный файл, в общем вот что получилось)).

UserController (Отобразить)


User (model) (Отобразить)


Const.php (Отобразить)


P.S Только методы для авторизации

(Отредактировано автором: 30 Мая, 2012 - 01:44:49)

 
 Top
DelphinPRO
Отправлено: 30 Мая, 2012 - 21:05:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




вот текстовые константы-то лучше в ini-файлах держать. их удобнее править при переводе на другой язык ;)


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
etoYA
Отправлено: 30 Мая, 2012 - 22:42:18
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




DelphinPRO, как вариант проходитУлыбка.
СпасибоУлыбка)
(Добавление)
DelphinPRO, как то так?

PHP:
скопировать код в буфер обмена
  1. foreach (parse_ini_file(ROOT. '/application/ini/constants.ini') as $k=>$v){
  2.         define(strtoupper($k), $v);
  3. }


CODE (htmlphp):
скопировать код в буфер обмена
  1. USER_EMPTY_LOGIN = Введите логин;
  2. USER_INCORRECT_LOGIN = Логин должен быть 2-16 символов и содержать латинские буквы и цифры. Разрешенные знаки ._-;
  3. USER_EMPTY_PASS = Введите пароль;
  4. USER_INCORRECT_PASS = Пароль должен быть 6-16 символов и содержать латинские буквы и цифры;
  5.  
  6. ETC.....
  7.  
 
 Top
sKaa
Отправлено: 31 Мая, 2012 - 05:25:26
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


etoYA, да сам define очень медленная херовина, просто если ты держишь в define'ах всякие там конфиги или языки, это ужас как медленно будет работать когда их у тебя накопится по бане... Я собственно по этому и показал..
PHP:
скопировать код в буфер обмена
  1. class classname {
  2.    const
  3.           QWE = '', ASD = '', ZXC = '';
  4. }

Ведь к ним тоже можно обратиться из любого места кода если класс существует.


Ну, а так, DelphinPRO абсолютно прав! На хабре давным давно статья была, про скорости всякие
define и прочей мерзости где люди умудряются конфиги хранить, ini файлы лидировали по скорости работы с большим отрывом, а define чуть ли не самым медленным оказался )


Таки вот она, статья :
http://habrahabr.ru/post/112402/

(Отредактировано автором: 31 Мая, 2012 - 05:57:11)

 
 Top
etoYA
Отправлено: 07 Июня, 2012 - 15:39:08
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




sKaa, хм... Выходит, что это не фонтан?

PHP:
скопировать код в буфер обмена
  1. foreach (parse_ini_file(ROOT. '/application/ini/constants.ini') as $k=>$v){
  2.         define(strtoupper($k), $v);
  3. }
 
 Top
sKaa
Отправлено: 07 Июня, 2012 - 15:56:17
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


etoYA, выходит да. Но если уж есть такое желание юзать ини и ещё, чтоб ООП на каждом шагу могу подсказать вариант с классом Language, который при инициализации загрузит нужный ru\en\uk\kz .ини, распарсит его внутрь приватного свойства класса в виде массива, а доступ будет через магический __get..
Получиться что-то типо :

PHP:
скопировать код в буфер обмена
  1.  
  2. $Language = Language::getInstance('ru');
  3. echo $Language->HELLO_MESSAGE; // Привет
  4.  

Можно долго размышлять как и что лучше, я сам хз даже как, просто как вариант можно и так.
 
 Top
caballero
Отправлено: 07 Июня, 2012 - 16:05:54
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




и к чему этот изврат
обычные файл с константами const подключаемые инклудом для нужного языка


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
DelphinPRO
Отправлено: 07 Июня, 2012 - 21:19:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




etoYA
нет, без дефайнов, просто массив с константами получите и используйте как удобно

вариант caballero тоже неплох - инклудишь и сразу получаешь массив.
но не факт что он быстрее


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
caballero
Отправлено: 07 Июня, 2012 - 21:39:26
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




на массив память выделяется а константы сразу подставляются копилятором


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB