But these conflict with your requirements or minimum-stability

Мучился сегодня с обновлением библиотеки в проекте. Сам только что поднял версию этого пакета, и теперь получал постоянно: 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

isset vs. array_key_exists

Совсем недавно моё невежество привело к тому, что система, к разработке которой я прикладываю свои руки и по возможности голову, на несколько часов оказалась частично непригодна для использования. Несмотря на свой уже достаточно богатый опыт работы с PHP и давнюю сертификацию по этому языку (хотя многие к ней относятся с юморком, всё же это какая-никакая… Continue reading isset vs. array_key_exists

Published
Categorized as php

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