Webアプリケーション構築用スクリプト言語として進化し続けるPHPの今とこれからについて講演します。この一年、PHP 5.6リリースを始め、PHPの進化系とも言えるHack/HHVMの公開など、PHPには様々な話題がありました。PHPNGとしてアナウンスされた次期メジャーバージョンアップPHP 7.0の話題等、今後の方向と課題についてもとりあげます。Read less
2. 徳丸浩の自己紹介 • 経歴 – 1985年京セラ株式会社入社 – 1995年京セラコミュニケーションシステム株式会社(KCCS)に出向・転籍 – 2008年KCCS退職、HASHコンサルティング株式会社設立 • 経験したこと – 京セラ入社当時はCAD、計算幾何学、数値シミュレーションなどを担当 – その後、企業向けパッケージソフトの企画・開発・事業化を担当 – 1999年から、携帯電話向けインフラ、プラットフォームの企画・開発を担当 Webアプリケーションのセキュリティ問題に直面、研究、社内展開、寄稿などを開始 – 2004年にKCCS社内ベンチャーとしてWebアプリケーションセキュリティ事業を立ち上げ • 現在 – HASHコンサルティング株式会社代表http://www.hash-c.co.jp/ – 独立行政法人情報処理推進機構非常勤研究員http://www.ipa.go.
使える言語の幅を広げたいと思ってPHP カンファレンス 2014に参加してきました。徳丸さんの「安全な PHP アプリケーションの作り方 2014」は改めて自分のセキュリティの知識を確かめるのに大変有意義だったのですが、何より感動したのが Facebook の Paul Tarjan による「HHVM + Hack == PHP++」のセッションでした。 すごく簡単に僕が理解した限りで HHVM/Hack を紹介すると、HHVM とは PHP の処理系の一つの実装です。その特徴は JIT コンパイルにより超高速になっていることに加え、圧倒的な魅力は PHP の Extension(C 拡張ライブラリ)の多くが実装されていて PHP のメジャーなフレームワークが問題なく動作するということです。つまりもう実践で戦えるということ。そして、Hack というのは HHVM が処理できるもう一つの言語
PHPでは、様々なテンプレートエンジンが利用できます。Smartyが有名ですが、最近はTwigを利用するケースも増えています。 今回は、テンプレートエンジンの中ではあまり知られていない「PHPTAL」を紹介します。 by 馬場美由紀 (CodeIQ中の人) 直接閲覧した場合もレイアウトが崩れないPHPTAL PHPTALは、変数や条件分岐命令等を、「HTMLタグの属性として記述する」という特徴があります。この特徴により、テンプレートパーサを介さないでHTMLとして表示できます。 テンプレートファイルを直接閲覧した場合にもレイアウトが崩れないので、テンプレートを編集してチェックする、という作業が楽になります。PHPTALはこちらで配布されています。LGPLライセンスで配布されており、商用利用を含め自由に利用できます。 PHPTALの単純なテンプレートを例に見てみましょう。 <div> <h1
This document discusses using PHPTAL as a template engine with CakePHP. PHPTAL is based on Zope Template Attribute Language (TAL) and allows using TAL syntax and attributes in PHP templates. The document explains what TAL and PHPTAL are, provides code examples of using PHPTAL directives to loop through and display data, and describes a CakePHP plugin that integrates PHPTAL as a view class for easi
こんにちは、エンジニアの@soyanaです。前回記事CakePHP2 で、phpass でハッシュ化されたパスワードが保存されたユーザーテーブルを扱えるようにするに引き続き、CakePHPのTipsをお送りします。 前提として、 メールフォームの文字エンコーディングは UTF-8 メール件名、本文の文字エンコーディングは ISO-2022-JP という環境とします。 Windows 環境から入力された文字列が、機種依存文字の1つである全角チルダ「〜」や全角ハイフン「−」を含んでいた場合に、上記のエンコーディングされると、届くメールが文字化けしてしまうことがよく起こります。 この問題は、波ダッシュ問題や全角チルダ問題といわれており、ハマリがちな問題の1つです。 CakePHP で実装されたフォームで、入力するユーザが意識せずとも、文字化けが起こらないように行った方法をご紹介します。 Word
githubのプライベートレポジトリでも利用できるCIサービスwerckerでPHPUnitのテスト実行環境を作成してみました。 Ruby on Rails + RSpecの例はよく目にしますが、PHPUnit(&DBUnit)の構築例があまり無かったので、実際に運用しているwercker.ymlと、その簡単な解説を共有します。 wercker.yml成果物 box: wercker/php services: - wercker/mysql build: steps: - script: name: Activate PHP 5.3 code: phpenv global 5.3 - script: name: install ansible code: |- git clone git://github.com/ansible/ansible.git cd ansible git ch
PHP5.3からクロージャが利用可能であり、高階関数を積極的に利用して簡潔なコードを心がけたいのですが、一度調べておかないと意外な関数が利用可能であることに気づかなかったりするのでまとめ(個人的によく使う順)。 array_map PHP: array_map - Manual 高階関数で最も代表的と思われるもの。map-reduceのmap。配列の各要素をクロージャを用いたマッピングを行い、別の配列を作ります。 <?php $prices = [100, 200, 300]; $taxInPrices = array_map(function($price) { return $price * 1.08; }, $prices); var_dump($taxInPrices); // array(3) { // [0]=> float(108) // [1]=> float(216) /
一部の方には事前にお話していましたが、わたしも共著で執筆に参加した「CakePHPで学ぶ継続的インテグレーション」という、CakePHPを使って継続的インテグレーションを実践するながれを解説した書籍が9/19にインプレスから出版されます! CakePHPで学ぶ継続的インテグレーション 作者: 渡辺一宏,吉羽龍太郎,岸田健一郎,穴澤康裕,丸山弘詩出版社/メーカー: インプレス発売日: 2014/09/19メディア: 単行本(ソフトカバー)この商品を含むブログを見る 既にインプレスさんのサイトやAmazonにも掲載されています。まだ、書影が反映されていませんが、予約受付中です!是非ポチッとお願いします(^^。 今年頭頃のミーティングから約9ヶ月、途中本業が忙しくなかなか執筆がすすまなかったりもしましたが、なんとか書き上げることができました。今回、初めて僕自身の企画+執筆のとりまとめをすることに
Home > Laravel | PHP | PhpStorm | Vagrant > PhpStorm から Vagrant VM の PHP アプリケーションをリモートデバッグする(Web & CLI) PhpStorm から Vagrant で構築した VM の PHP アプリケーションをリモートデバッグする方法です。Web アプリケーションだけでなく、CLI アプリケーションでもリモートデバッグできるように設定していきます。 VM スペック 192.168.33.41 を private network で設定 PHP + Xdebug がインストール済み ホストと VM は、synced folder でディレクトリを共有(/path/to/src -> /share) 0. Xdebug によるリモートデバッグの仕組み リモートデバッグを設定する前に PhpStorm と Xd
タイトルで結論を言い切った感もありますが、さておき。 Iterator / IteratorAggregate といった interface を実装することで、PHP ではそのインスタンスを foreach で回せるようになります。が、これには一点見落としがちな挙動があります。 以下のようなクラスを用意して実例を見てみましょう。 <? class HogeList implements Iterator { private $position = 0; private $array; public function __construct($array){ $this->array = $array; $this->position = 0; } public function rewind() { $this->position = 0; } public function curren
PHPの==は両辺を適当に型キャストしてから比較するような演算子です。この型キャストの規則は難解すぎる上にドキュメントも不十分なため、PHPプログラマでも完璧に理解している人はほとんど居ないくらいの印象です。バグの原因になりかねないため、なるべく==を使わないようにしているPHPプログラマも多いはずです。 ところで、この==演算子の挙動がPHP 5.4.4から変更されていることはあまり知られていません。本稿ではこの内容を紹介します。 Bug #54547 の騒動 まずはこの仕様変更の経緯を紹介します。 2年ほど昔、Hacker Newsで2^63付近の整数に対応する文字列をPHPで比較したときの挙動がおかしいというスレッドが盛り上がったことがありました。具体的には、PHPでは「'9223372036854775807' == '9223372036854775808'」がtrueになるとい
PHP5.4 で実装された trait のまとめと実際の利用例 弊社技術ブログへお越しのみなさま、こんにちは。今年度入社の新人、 YamaYuski です。 先日、社内勉強会にて「traitを使って楽したい話」という演目で簡単に trait について発表しました。 trait が実装された PHP5.4 は2年も前にリリースされたものなので、何故今更、という話になると思います。 しかし、ネット上(特に日本語圏)においての trait の記事はまだまだ少なく、具体例を探すのも大変だったので、「もしかして trait はあまり浸透していないんじゃないか?」と考え、 trait の有用性を世に広めるためにこの記事を作り始めました。 今回は、初心者ながら個人的に調べたり考えたりしたことを、 trait とはなにか trait の実装方法と利用方法 どのようなケースで実装するか 実装時の小ネタ の4
HerokuでのPHPサポートが正式版になってたので、現時点でこんな感じで使っているよ、ということ。 reference Getting Started with PHP on Heroku | Heroku Dev Center Customizing web server and runtime settings for PHP | Heroku Dev Center Heroku PHP Support | Heroku Dev Center PHP session handling on Heroku | Heroku Dev Center start composer.jsonがあればPHPアプリケーションとしてdetectされる しかし、package.jsonとかGemfileとかあるとPHPのアプリケーションとして認識されない 今どきはこういうファイル、大抵ある build
こんにちは。ウェブ開発担当の木戸です。 突然ですが、PHP で CSV ファイルを連想配列に変換してゴニョゴニョ…ってよくやりますよね? 私も先日開発中に、CSV の関数なんだったかなーと思って「php csv」で検索していたのですが、ファーストビューが定番の fopen して fgetcsv の公式サンプルや記事ばかりでタイトル通り「?」だったので、調査してみたところ、意外と面白いことがわかりました。 やっぱり fgetcsv だけじゃなかった 似たような機能を持つ関数が複数あり、公式ドキュメントを見てもどれを使っていいかわからない、なんてこと PHP ではよくありがちです。CSV 変換もやっぱりいろんな方法がありました。 そこで今回は、あらゆる CSV 変換処理を検証し、処理時間とメモリ使用量を比較します。処理はレコードごとの連想配列に変換するのみで、よくセットでやる文字コードの変換や
<?php class Japan{ public function getCapital(){ echo '<div id="capital">'; echo '埼玉県'; echo '</div>'; } } getCapital() は何も return してくれませんので、代わりに標準出力された内容をテストします。標準出力される内容を取得できる ob_start() と ob_get_clean() を使います。これにより、標準出力される内容を変数に格納できますのでテストを行えるようになります。 <?php require_once 'Japan.php'; class JapanTest extends PHPUnit_Framework_TestCase{ public function testGetCapitalOutputsExpectedHtml(){ $japan =
ふとTwitterを眺めてると もうちょい日本のPHP使ってる人krakjoeの話題に関心持ってもいいと思うんだけどな。彼php-dbgとかcoreで頑張ってるし、いちOSSの出来事としてひじょーに興味深いと思う— Shuhei Tanuma (@chobi_e) July 10, 2014 とか視界に飛び込んでくる。 karkjoeつーと確かAPCuとかpthreads書いた人だよなーって思いつつ何だろうと思ってTwitter見てみるとこんなのが A leg up, please .... Click to Donate: http://t.co/vT4MczCaAk #gofundme— Joe Watkins (@krakjoe) July 9, 2014 ん?って事でリンク先を拝見 http://www.gofundme.com/b9dfcg My name is Joe Watk
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く