Мучился сегодня с обновлением библиотеки в проекте. Сам только что поднял версию этого пакета, и теперь получал постоянно: Problem 1 – The requested package x/yz (locked at 1.2.3, required as ^1.2.4) is satisfiable by x/yz[1.2.3] but these conflict with your requirements or minimum-stability. Вообще ничего понять не мог, потому что изменений со стабильностью не было,… Continue reading But these conflict with your requirements or minimum-stability
Category: php
isset vs. array_key_exists
Совсем недавно моё невежество привело к тому, что система, к разработке которой я прикладываю свои руки и по возможности голову, на несколько часов оказалась частично непригодна для использования. Несмотря на свой уже достаточно богатый опыт работы с PHP и давнюю сертификацию по этому языку (хотя многие к ней относятся с юморком, всё же это какая-никакая… Continue reading isset vs. array_key_exists
json_encode vs. serialize
Итак, продолжение серии бесполезных исследований. В этот раз мы сравниваем несколько разные по сути функции, которые, тем не менее, часто используются с одной целью. В этом исследовании мы хотим представить массив значений (не объектов PHP) в качестве строки. Это исследование инициировал на работе Фархад Вильданов. К сожалению, ему это не помогло, так как он имел дело… Continue reading json_encode vs. serialize
Разработка приложения с помощью Zend Framework 2
1. Приложение необходимо разбивать на модули. Модуль включает в себя какую-то сущность и связанные с ней действия. Например, это может быть пользователь и контроллеры, отвечающие за вход/регистрацию, личный кабинет (настройки) и управление пользователями. Раньше я, разумеется, использовал модульность, но, как правило, модуль был достаточно весомым, он включал хоть и независимую (относительно) часть приложения, но все… Continue reading Разработка приложения с помощью Zend Framework 2
autotest для PHP
Я последнее время немало человеко-часов провел в экспериментах с Руби и Рельсами (об этом я еще напишу отдельный пост). Вернувшись назад в мир разработки на PHP мне стало очень не хватать одной простой утилиты, к которой я успел так привыкнуть. Называется она autotest. Проблема в том, что она для руби. Я быстренько поискал в Гугле… Continue reading autotest для PHP
array_map(‘intval’, $array) vs. array_map(function($val) { … }, $array)
И я продолжаю серию своих никчемных исследований… <?php ini_set(‘memory_limit’, ‘4096M’); $array = []; for ($i = 0; $i < 1000000; $i++) { $array[$i] = (string)$i; } $start = microtime(true); $tmp = array_map(‘intval’, $array); $end = microtime(true); echo ‘array_map(\’intval\’, $array): ‘ . ($end – $start) . PHP_EOL; $start = microtime(true); $tmp = array_map(function($value) { return (int)$value;… Continue reading array_map(‘intval’, $array) vs. array_map(function($val) { … }, $array)
array_key_exists vs. isset
Очередное маленькое бесполезное исследование скорости работы двух похожих функций. Код и результаты, как водится, ниже. <?php $array = range(0, 1000000, 3); $start = microtime(true); for ($i = 0; $i < 1000000; $i++) { array_key_exists($i, $array); } $end = microtime(true); echo ‘array_key_exists: ‘ . ($end – $start) . PHP_EOL; $start = microtime(true); for ($i = 0;… Continue reading array_key_exists vs. isset
Обновление PHP в Mac OS X
Сегодня мне рассказали про очень простой способ обновить PHP на локальной Mac OS X. Шаг 1. Сначала необходимо установить Xcode, если вы этого до сих пор не сделали. Запускаем его, идем в меню Xcode → Preferences… и выбираем тут закладку Downloads. Жмем “Install” напротив Command Line Tools. Шаг 1 завершен, в дальнейшем при очередном обновлении этого… Continue reading Обновление PHP в Mac OS X
function_exists vs. extension_loaded
Одно небольшое бесполезное исследование провел сегодня на работе по долгу службы. Код и результаты его выполнения ниже. <?php $functionExistsStart = microtime(true); for ($i = 0; $i < 1000000; $i++) { function_exists(‘this_function_doesnt_exist’); } $functionExistsEnd = microtime(true); $extenstionLoadedStart = microtime(true); for ($i = 0; $i < 1000000; $i++) { extension_loaded(‘this_extension_is_not_loaded’); } $extenstionLoadedEnd = microtime(true); echo ‘function_exists ‘… Continue reading function_exists vs. extension_loaded
Zend Certified Engineer
Итак, давно обещал рассказать, как сдавал экзамен. Руки как не доходили, так до сих пор и не доходят. Периодически через Желтые страницы Zend’a мне задают некоторые вопросы о самом экзамене. Во-первых, должен сказать, что экзамен простой. По крайней мере, мне так показалось.Рассчитан он, как мне думается, на людей, которые программирование практикуют, а не просто зазубривают… Continue reading Zend Certified Engineer