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

Можно уточнить:
    1. Понедельник, 30 августа

      Yii: параметры для действия контроллера

      В стремительно приближающемся релизе Yii 1.1.4 будет довольно приятная возможность. Теперь можно будет использовать $_GET-параметры как параметры действия контроллера.

      Теперь вместо:


      class PostController extends CController
      {
      public function actionCreate()
      {
      if(isset($_GET['category']))
      $category=(int)$_GET['category'];
      else
      throw new CHttpException(404,'invalid request');


      if(isset($_GET['language']))
      $language=$_GET['language'];
      else
      $language='en';


      // ... действительно полезная часть кода ...
      }
      }



      можно будет так:


      class PostController extends CController
      {
      /**
      * Создание поста.
      * @param integer $category ID категории нового поста
      * @param string $language язык нового поста
      */
      public function actionCreate($category, $language='en')
      {
      // ... действительно полезная часть кода ...
      }
      }



      При этом, если в $_GET не оказалось указанного параметра и для параметра нет значения по умолчанию, будет выброшено исключение CHttpException.
      Если в PhpDoc метода присутствуют типы параметров (поддерживаются integer` (`int`), `boolean` (`bool`), `float` (`double`) и `string`), происходит автоматическое приведение типа из $_GET к указанному.

      ,

    1. Четверг, 26 августа

      Traits в trunk PHP

      Вот и traits попали в транк PHP.

      Данная возможность была придумана как альтернатива множественному наследованию и mixin-ам. trait представляет собой набор PHP-кода (обычно это методы), который можно использовать в своём классе. Фактически trait — поддерживаемый на уровне языка умный copy-paste.


      trait Dumper {
      public function dump($var){
      echo '<pre>'.print_r($var, true).'</pre>';
      }
      }

      class MyClass {
      use Dumper;
      }

      $myClass = new MyClass();
      $myClass->dump('test');




      MyClass в итоге будет выглядеть как:


      class MyClass {
      public function dump($var){
      echo '<pre>'.print_r($var, true).'</pre>';
      }
      }



      Это самый простой случай. Более сложные и интересные вещи, такие как подмена имени метода при подключении, разрешение конфликтов, trait-ы из trait-ов, требования к классу, описаны на английском в wiki.


    1. Вторник, 24 августа

      EAP PhpStorm 2.0 стартанул

      Вот и случилось. В данной версии:

      - Рефакторинг smart introduce.
      - Внушительный набор новых проверок кода.
      - Переработанный интерфейс.
      - GUI для Git.
      - Редактор фрагментов кода.
      - Множество других улучшений и исправлений.

      Официальный анонс
      Пробуем и не забываем постить найденные баги в трекер

      UPD: Подоспел билд с фиксами.


    1. Четверг, 19 августа

      Скоро стартует EAP PhpStorm 2.0

      Следующая версия и так уже очень хорошей IDE обещает быть не менее революционной, чем первая. Самое вкусное:

      - Поддержка Zend framework и Zend debugger.
      - Возможность самостоятельно прикрутить поддержку любого фреймворка через описание метаданных «магических» мест вроде загрузчика классов.
      - Дополнительные возможности рефакторинга.
      - Улучшения в поддержке пространств имён.
      - Улучшения в инспекторе кода.
      - Поддержка Mercurial, UI для Git и Mercurial.
      - LESS/SASS 3.
      - Softwrap (wordwrap?!).
      - Улучшенный интерфейс самой IDE.

      EAP обещают открыть в течение недели.

      - Официальный анонс
      - Планы на 2.0

      Если вы не нашли в планах чего-то очень важного, об этом можно написать в багтрекер.


    2. Шевчук про рефакторинг

      Довольно интересный рассказ про рефакторинг плохого тормозящего PHP кода.

      Читаем


    1. Вторник, 17 августа

      PhpStorm 1.0.2

      Вышел релиз IDE PhpStorm.

      Изменения по сравнению с предыдущим билдом неплохие. Среди них такие, как:

      - Неостановка при отладке в Xdebug.
      - Улучшения инспектора кода.
      - Улучшение производительности дополнения кода.

      - Исправления в этой версии по сравнению с RC
      - Пробуем и обновляемся


    1. Среда, 11 августа

      PHP, шаблоны и короткий синтаксис

      Одним из самых частых аргументов, приводимых в пользу шаблонизаторов по сравнению с голым PHP, является более красивый синтаксис:


      {$code}



      вместо


      <?php echo $code?>



      На самом деле этот аргумент, хотя и самый часто используемый, является полностью необоснованным.

      Если включить в php.ini short_open_tag, можно вместо действительно громоздкого кода, приведённого выше, писать:


      <?=$code?>



      При использовании альтернативного синтаксиса управляющих конструкций, код будет гораздо понятней, чем шаблон того же Smarty:


      <ol>
      <?foreach($users as $user):?>
      <li>
      <h2><?=$user->username?></h2>
      <p><?=$user->notes?></p>
      </li>
      <?endforeach?>
      </ol>


    1. Пятница, 6 августа

      PhpStorm 1.0.2 RC build 95.480

      После небольшого затишья выложен свежий билд IDE PhpStorm, являющийся RC 1.0.2.

      - Исправлены почти все ложные срабатывания «Unused local variable».
      - Поправили ошибку с неработающим HTML5 при наличии пробелов в пути к установленной IDE.
      - Исправления в дополнении. См. Code | Code Completion | Cyclic Expand Word (Alt + /) и Cyclic Expand Word (Backward) (Alt + Shift + /).
      - Улучшено обнаружение ошибок в коде и их подсветка.

      - Официальный анонс
      - Полный список изменений
      - Обновляемся


    1. Вторник, 3 августа

      JAXL 2.0

      Вышла вторая версия JAXL — объектно-ориентированного XMPP-фреймворка для PHP, о котором я упоминал ранее.

      - В лучшую сторону изменилась архитектура.
      - Событийная модель.
      - Поддержка XEP:
      0004 – Data Forms
      0030 – Service Discovery
      0045 – Multi-User Chat
      0050 – Ad-Hoc Commands
      0085 – Chat State Notification
      0092 – Software Version
      0114 – Jabber Component Protocol
      0133 – Service Administration
      0249 – Direct MUC Invitation


      - Официальный анонс
      - Установка
      - Пример написания своего бота


    1. Воскресенье, 1 августа

      Разыменование массивов в trunk PHP

      Ещё одна приятная новость. В транк PHP 5.4 (который, возможно, будет в итоге выпущен как PHP 6) попала очень полезная возможность — разыменование массивов:


      function test() {
      return array("one" => "PHP", "two" => "trunk", "three" => "is very cool");
      }
      echo test()["two"]; // !!!



      То есть теперь можно обращаться к индексу массива, возвращаемого из метода.


  1. 1
  2. 2
  3. 3
  4. Последняя

Подписаться на RSS

Интересное

Разделы

  1. (5)
  2. (11)
  3. (6)
  4. (9)
  5. (6)
  6. (6)
  7. (16)
  8. (60)
  9. (274)
  10. (52)
  11. (16)
  12. (12)
  13. (37)
  14. (6)
  15. (10)
  16. (14)
  17. (18)
  18. (16)
  19. (7)
  20. (8)
  21. (7)
  22. (7)
  23. (31)
  24. (76)
  25. (27)
  26. (68)
  27. (5)
  28. (203)
  29. (59)
  30. (6)
  31. (19)
  32. (73)
  33. (27)
  34. (70)
  35. (33)
  36. (10)
  37. (5)
  38. (6)
  39. (5)
  40. (341)
  41. (14)
  42. (11)
  43. (6)
  44. (13)
  45. (8)
  46. (18)
  47. (6)
  48. (15)
  49. (115)
  50. (18)
  51. (6)
  52. (9)
  53. (71)
  54. (16)
  55. (6)
  56. (25)
  57. (13)
  58. (5)
  59. (39)
  60. (7)
  61. (31)
  62. (7)
  63. (12)
  64. (11)
  65. (124)
  66. (34)
  67. (5)
  68. (18)
  69. (28)
  70. (9)
  71. (6)
  72. (8)
  73. (41)
  74. (10)
  75. (6)
  76. (12)
  77. (5)
  78. (9)
  79. (6)

Друзья