<rmcreative>

RSS

Все заметки с тегом «php»

Можно уточнить:

  1. Нехитрый вопрос на собеседовании или как не попадают в стартапы

    12 июня 2008

    Интересная теоретически-практическая задачка на собеседование и не менее интересные варианты решения… особенно в комментариях.

    Читаем

    Комментировать
  2. The PHP Benchmark

    5 июня 2008

    Отличный тест, показывающий, что написанный «немного» по-разному код в PHP иногда сильно отличается в плане производительности.

    Рассматриваем

    5 комментариев
  3. Избавляемся от рутинных операций с помощью Phing

    5 июня 2008

    Заметка о PHP-аналоге Apache Ant, который может значительно сэкономить вам время, выполняя рутинные задачи.

    Читаем

    1 комментарий
  4. PHP, многомерные массивы

    3 июня 2008

    Всё описанное ниже успешно опровергнуто в комментариях.

    Всё, как и ожидается. В $new_arr будет копия $arr:

    $arr = array(
      'one' => 'val_one',
      'two' => 'val_two'
    );
     
    $new_arr = $arr;

    А вот тут не всё так просто… вместо массива $subarr в $new_arr будет ссылка на него.

    $subarr = array(
     'one_one' => 'val_one_one'
    );
     
    $arr = array(
      'one' => $subarr
    );
     
    $new_arr = $arr;
    10 комментариев
  5. FirePHP

    2 июня 2008

    FirePHP — расширение FireBug для вывода отладочной информации PHP в консоль FireBug.

    На сайте имеются библиотеки для подключения к Zend Framework и Symfony. Также нашлась версия для CodeIgniter.

    Советую попробовать

    10 комментариев
  6. Drupal 5 Thickbox update

    26 мая 2008

    Обновление JS и CSS кода модуля Drupal 5 Thickbox до последней доступной на данный момент версии.

    Исправляет баги IE6 с позиционированием бокса на длинных страницах.

    Требует jQuery Update.

    В основную ветку Drupal 5 включено не будет из-за требуемого jQuery Update.

    Обновляемся.

    Комментировать
  7. Русские языковые файлы для CodeIgniter 1.6.2

    15 мая 2008

    Основан на русском переводе для CodeIgniter 1.51, выполненном Шульга Алексеем. Том самом, который можно найти в русскоязычной группе Google.

    Допереведны новые строки, сделаны некоторые правки в старых.

    Забираем

    11 комментариев
  8. CodeIgniter v1.6.2. Релиз.

    13 мая 2008

    Не успел я сообщить о предстоящем релизе, как он уже состоялся :)

    Подробный список изменений

    Обновляемся

    Комментировать
  9. Прикручиваем xdebug к Denwer

    13 мая 2008

    Когда-то меня спрашивали, как прикрутить Xdebug к Денверу. Вот пошаговая инструкция:

    1. Сливаем dll Xdebug тут: http://xdebug.org/download.php.

    2. Копируем слитый файлик (в моём случае это php_xdebug-2.0.3-5.2.5.dll) в путь_к_denwer/usr/local/php5/ext/.

    3. Прописываем в путь_к_denwer/usr/local/php5/php.ini:

      [xdebug]
      zend_extension_ts=/usr/local/php5/ext/php_xdebug-2.0.3-5.2.5.dll
      
    4. Проверяем, что всё работает при помощи phpinfo(): должна появится секция xdebug и не должно быть предупреждений вроде XDEBUG NOT LOADED AS ZEND EXTENSION.

    UPD: для PHP 5.3 необходимо заменить zend_extension_ts на zend_extension.

    UPD2: на официальном сайте есть волшебная страничка, которая всегда подскажет, что с вашим xdebug не так.

    10 комментариев
  10. enum в PHP

    12 мая 2008

    Часто приходится иметь дело с определённым набором значений-параметров, которые можно передать какому-либо методу. Многие просто используют для этого строковые значения:

    class Rights {
      function check($role, User $user){
        return $user->role == $role;
      }
    }
    Rights::check('adminisrator', $me);

    Как видно из примера выше, ошибиться довольно легко, а вот ошибку найти будет довольно сложно.

    Одно из возможных решений — завести псевдо-enum класс Roles:

    class Roles {
      const ADMINISTATOR = 'administrator';
      const USER = 'user';
    }
     
    class Rights {
      function check($role, User $user){
        return $user->role == $role;
      }
    }

    Теперь вызов метода будет выглядеть так:

    Rights::check(Roles::ADMINISTATOR, $me);

    В случае описки компилятор нас предупредит.

    7 комментариев