Структура директорий для проекта на Yii Framework
Прекрасное руководство о том, как организовать структуру директорий проекта на Yii. Рассмотрен пример с применением локальной и общей конфигурации приложения.
Прекрасное руководство о том, как организовать структуру директорий проекта на Yii. Рассмотрен пример с применением локальной и общей конфигурации приложения.
В php, к сожалению, не имеется функции array_map которая могла бы рекурсивно пробежаться по массиву. Но есть кастомное решение, которое нормально работает:
function array_map_recursive($func, $array) { foreach ($array as $key => $val) { if ( is_array( $array[$key] ) ) { $array[$key] = array_map_recursive($func, $array[$key]); } else { $array[$key] = call_user_func( $func, $val ); } } return $array; }
Многие предприниматели открыли для себя то, что создание интернет магазинов весьма выгодно, особенно если у них уже открыт стационарный магазин. Но при разработке веб-магазина они сталкиваются с множеством проблем. Если большинство из них, связанных с работой сайта, поможет решить программист, то как быть с проблемами вне сети, с проблемой доставки? Полностью
Полезная статья которая описывает различия между jQuery функциями live delegate и bind.
The Difference Between jQuery’s .bind(), .live(), and .delegate()
При разработке приложений на связке PHP+MySql часто приходится использовать поля типа ENUM. Данный тип поля предназначен для создания списка из допустимых значений, которые перечислены спецификации столбца. Стоит отметить, что в базе поле с перечислением хранится как число, что обеспечивает высокую скорость работы.
При взаимодействии с такими полями на php, обычно используют строковое присваивание значения. Минус данного метода, очевиден — если допустить банальную опечатку, то в поле будет записано пустое значение. Если название значения в базе необходимо поменять, но придется по всему проекту делать замену.
К сожалению, в php не имеется встроенной возможности создания перечислений, как, например. в C#. Выходом из ситуации является решение на псевдо-enum классах.
Долгое время блог работал на Joomla. Мягко говоря, не самое удобное решение, но было выбрано из-за того, что на сайте было портфолио моих работ. В результате решил все перевести на старый добрый WordPress и наконец то радоваться возможности писать посты через Windows Live Writer.
В процессе написания проектов на Yii framework у меня собрался класс функций, которые постоянно приходится вызывать по ходу приложения.
У PHP есть особенности в функциях при работе с большими объемами данных – они падают, безо всяких предупреждений. Очень часть это может проявиться в самом неожиданном месте.
Пример: При построении логики приложения на исключениях (Exceptions) очень удобно делать дамп эксепшенов в файл, а именно входные параметры функции, которая выбросила эксепшен, для чего и применяется print_r($data, true). Но если в качестве входного параметра фукнции передать объект у которого в филдах будут другие объекты, а у них ещё объекты и так до бесконечности…print_r($data, true) начинает дампить данные клиенту, вместо строки в файл.
Данная ситуация отнюдь не выдуманная, выкиньте эксепшен в startup компонента CakePHP и получите подобную ситуацию.
Многие веб разработчики используют Windows в качестве основной ОС. По сравнению с Linux, мы лишаемся прелестей консоли и приходится использовать несколько нестандартные решения. Одним из таких является установка PHPUnit на WAMP Server.
Собственно порядок установки:
D:\>cd wamp\bin\php\php5.2.11
D:\wamp\bin\php\php5.2.11>go-pear.bat
D:\wamp\bin\php\php5.2.11>PEAR_ENV.reg
D:\wamp\bin\php\php5.2.5>pear channel-discover pear.phpunit.de
D:\wamp\bin\php\php5.2.5>pear install phpunit/PHPUnit
Сердце любого веб разработчика невольно вздрагивает при слове IE (при чем зачастую не важно какой версии). К сожалению самый распространенный браузер является самым отсталым в плане современных веб технологий. В данной статье хотел бы рассмотреть некоторые приемы, которые позволят использовать CSS3 для IE.
Полностью