PHP 5.3+ Fully-featured Authentication & Authorization System
みなさん、Laravelしてますか? Laravelはここ1年で急激な台頭をみせているPHPのフレームワークです。 githubのスター数は1位のSymfonyに続き第2位です。 以下がGoogleトレンドの結果になりますが、Laravelがいかに近年人気急増中であるかがみてとれると思います。 そんなLaravelですが、実は日本語の書籍がたくさんあることをご存知でしょうか? まだ日本語が原著のLaravel本はでていませんが、海外のLaravel本(電子書籍)を翻訳した日本語版ならたくさんあります。 なんと日本人に優しいことでしょう! 今回は、それらLaravel本の中から厳選して2冊ご紹介したいと思います。 Laravel Testing Decoded Laravel Testing DecodedはLaravelでmodel,view,controller,その他DB,IoC,AP
class に public な変数(プロパティ)を定義することは、オブジェクト指 向のカプセル化の観点から論外ですが、private なプロパティを定義して、 get_プロパティ名(), set_プロパティ名() とかを作るのもイケてなかった のですね。(薄々気づいてはいましたが…。) PHP には __get() と __set() という特殊メソッドがあります。 例えば $myclass = new MyClass; $myclass->hoge = 1; の場合、定義していれば MyClass::__set() が呼ばれます。 以下のように private なプロパティを定義し、__get(), __set() を介し てアクセス制御すると良いでしょう。このプロパティは読み取り専用、こ のプロパティは両方大丈夫とか。 class Post { private $title; pri
■プロジェクト 以下のコマンドでCakePHPをダウンロードして展開する。 wget https://github.com/cakephp/cakephp/tarball/master tar xvzf cakephp-cakephp-2.1.3-1-g5270721.tar.gz cd cakephp-cakephp-5270721 ■Pluginの設置 面倒なのでプラグインを使う。 cd app/Plugin git clone https://github.com/seddonmedia/cakephp-oauth-server.git OAuth mv OAuth/Controller/OAuthController.php OAuth/Controller/OauthController.php #多分必要 oauth2-phpが必要になるので以下のコマンドを実行する。 cd a
Last year I showed how to use pecl/oauth to write a Twitter OAuth Consumer. But what about writing the other end of that? What if you need to provide OAuth access to an API for your site? How do you do it? Luckily John Jawed and Tjerk have put quite a bit of work into pecl/oauth lately and we now have full provider support in the extension. It's not documented yet at php.net/oauth, but there are s
Writing an OAuth Provider Service - Rasmus' Toys Page PHPで作るOAuthプロバイダ作成サンプルコードがPHPファウンダーのRasmus氏によってエントリ化されてます。 Twitterみたいに、開発者向けにOAuthプロバイダを公開してAPIでサイトの機能を公開する際に使えるので覚えておくと便利かもしれませんね。 peclのoauthエクステンションによって実行できるので、インストールも楽チンで、インストール後はコードを元に比較的容易に実装できそうです。 関連エントリ PECLのoAuthエクステンションを使ってPHPでTwitterにログインするサンプル例 PHPからOAuth認証が出来るPEARライブラリ「HTTP_OAuth」
所要期間 着手しはじめたのが2010年12月ごろ、完了したのが2013年9月だったので何と3年近くかかったことになります。 長引いた原因は、日々の機能追加や運用をしながら孤独に片手間で細々とやってたからです。(単純に人手不足とも言う) また、PHPバージョンアップと同時にCentOSサーバを5から6にあげることにしたのでサーバ再構築のための工数も含まれています。 後半は仕事仲間が増えてその人が専業でバージョンアップ作業をやってくれたのでだいぶ楽できました。 それと専任のテスターさんたちにも参加していただいたので本番で大きなトラブルなく完了することができました。 感謝感謝です。 サーバ入れ替え作業が終わってPHP5.1の入った古いサーバを削除したときの、まさに「技術的負債」を返済し終わった瞬間の、あのスッキリ感、もう言葉にはできません。 終わってみてこの件に関するRedmineのチケットを数
Posted: 2013.11.13 / Category: 開発環境 / Tag: Laravel Vagrantとかいうのを使うと仮想サーバーが簡単に構築できるらしいのでやってみました。 VirtualBoxのダウンロード Vagrantを使うにはVirtualBoxが必要なので最初にインストールしておきます。 下記からWindowsやMac版などありますので、それぞれの環境にあったものをダウンロードします。 ここでは「VirtualBox 4.2.18 for OS X hosts」を使用します。 Downloads – Oracle VM VirtualBox Vagrantのダウンロード Vagrantをインストールします。 下記からダウンロードしましょう。ここでは「v1.3.4」を使用します。 Vagrant Downloads インストールが完了したらターミナルなどで下記コマ
絶対忘れるのでメモ。 値if($var)issetemptyis_null $var=1TRUETRUEFALSEFALSE $var="";FALSETRUETRUEFALSE $var="0";FALSETRUETRUEFALSE $var=0;FALSETRUETRUEFALSE $var=NULL;FALSEFALSETRUETRUE $varFALSEFALSETRUETRUE $var=array()FALSETRUETRUEFALSE $var=array(1)TRUETRUEFALSEFALSE
なにかとPerl、Python、Ruby、JavaScript等の言語と比べて機能の不足を言及されることの多いPHPですが、 PHPには逆にこれらの言語にはない機能がある、それはインターフェイスだ、という話です。 このインターフェイスという奴は、タイプヒンティングと共に、PHPという言語がさっき挙げたような他の軽量言語とは違ったプログラミングスタイルを持っていることを象徴しています。 インターフェイスって何? JavaやAS3なんかをやっている人だとわかるかと思いますが、有体にいえばinterfaceとはメソッドの宣言を集めたものです。 PHPマニュアルから説明を引用すると インターフェイスにより、あるクラスが実装する必要があるメソッドの 種類を、 これらのメソッドの実体を定義することなく、指定するコードを作成できるようになります。 (PHP: オブジェクト インターフェイス - Manu
第8章 データベースのテスト インストール PHPUnitのインストールは以下のコマンドで行う。 # pear config-set auto_discover 1 # pear install pear.phpunit.de/PHPUnitauto_discoverでインストールがうまくいかない場合は。 # pear channel-discover pear.phpunit.de # pear channel-discover pear.symfony.comDBのテストを行うためには拡張をインストールする。 以下のコマンドでインストールする。 # pear install phpunit/DbUnit 基本クラスの準備 DBのテストをするためには、PHPUnit_Extensions_Database_TestCaseを継承したクラスを用意する。 また、getConnectionメソ
この2〜3年、仕事の忙しさが祟り、Samurai Frameworkに関するパブリッシュができずにいました。 仕事上で修正するべき点、改修するべき点に関しては調整を施してはいたのですが、それだけです。非常に面目ない…。 この期に至っては腹を切って詫びるしかあるまい!とも思いましたが、僕が死ぬと悲しむ人が少なからずいる(はず)なので、思いとどまった次第です。 さて、改めて昨今のPHP事情を眺めてみると、 PSR-0〜3 namespace などなどの話題が目に入り浦島太郎状態になってしまいましたので、あーネームスペースでしょ、知ってる知ってる、あれだよね、うん。名前空間。といった感じではなく、もっと身に迫る実地体験で学んでみようと思います。 いいリハビリです。 もっともシンプルな例 なにはともあれ、基本から。 1 Sample1\Foo\Hoge::execute 2 Sample1\Bar
まったくプログラムの下地がない人がPHPの入門書を読むと挫折する。筆者はプログラミングの下地がまったくないノンプログラマーである。数年前から、PHPの勉強をや独学ではじめた。PHPの本は何冊買ったかわからない(洋書も含めて40冊以上は買ってきた)。買っては挫折の繰り返しだった。現在、てもとに残ったのは数冊である。 以下は、今後PHPを完全な独学で勉強したい人のためのメモである。 良本でプログラミングの下地をつくる 最初のコツはいきなりPHPの本に手を出さないことである。とくに初心者の方がネックになるのは条件分岐、ループ、配列あたりである。このあたりはPHP以外の本で定評のある本を読んで基礎を固めておきたい。 『新版Perl言語プログラミングレッスン入門編』か『初めてのプログラミング 第2版』のどちらかを読んでおこう。前者はPerl、後者はRubyの本であるがPHPでも基礎は同じで役に立つ。
こんにちは、@9ensanです。 PHPの依存管理ツールの「Composer」を使おうと思うとコマンドを覚えておいた方がいいと思うのでちょっと調べてみました。 以下解説になります。 全てのコマンドに有効なオプション –verbose(-v):詳細メッセージを表示させる。 –help(-h):ヘルプを表示する。 –quiet(-q):メッセージを表示しない。 –no-interaction(-n):対話型のメッセージを表示しない。 –working-dir(-d):作業フォルダを指定する –profile:メモリ使用量と実行時間を表示する。 –ansi:ANSIカラーでメッセージを出力する。 –no-ansi:ANSIカラーを使用せずにメッセージを出力する。 –version(-V):バージョンを表示する init composer.jsonを作成するコマンド、手で書くよりは少し簡単に作成で
PHP: The Right Wayを読んで、そのコンセプトに共感したので、今回、ComposerとPackagistでライブラリを開発、テスト、公開する手順をまとめておこうと思います。 Composerって Composerは、PHPのライブラリ依存管理ツールです。RubyのBundlerのように依存するライブラリを設定ファイルに書いてコマンドたたけばライブラリのインストールと利用準備が整います。 また、Composer用のリポジトリだけでなく、PEARやGithubのリポジトリもComposer経由で取得できるので、とても便利です。 基本的な使い方 インストール プロジェクトのカレントディレクトリにcomposer.pharをダウンロードする。これだけ。
アライドアーキテクツの伊藤です。 前回のエントリでは、PHPUnit系のお話を書きましたが、今回もしつこくPHPUnit系のお話を書きます。PHPUnitでテストを書いている時、データベースへの接続が発生するようなテストがあった場合、皆さんはどうしてますでしょうか。 レガシーコード改善ガイドによれば、データベース接続を伴う単体テストはあまり望ましくない為、データベース接続を伴うクラス、メソッドとの依存関係を排除して単体テストを書くべきとあります。 僕もそれが本来あるべき姿だと思いますが、今回はその話は一旦横に置いておき、PHPUnit上で使えるDBUnit拡張について書かせて頂きます。 使い方 通常のテストクラスは「PHPUnit_Framework_TestCase」を継承して作りますが、DBUnitを使う場合は「PHPUnit_Extensions_Database_TestCase」
注意:この翻訳はベータ1のものです。Laravel4の正式リリースまでアップデートしません。リリース後は改訂に合わせメンテナンスしていきます。前書き Laravelの哲学 Laravelの習得 Laravelの哲学 Laravelは表現力に富むエレガントな文法を備えたWebアプリケーションのフレームワークです。開発とは何かを真に達成するための、楽しく創造的な経験であるべきだと、私達は信じています。 Laravelは主要なWebプロジェクトで多用される認証、ルーティング、セッション、キャッシュのようなタスクをサポートすることで、開発の苦痛を取り去ることを目指しています。 Laravelはアプリケーションの機能性を犠牲にせずに、開発工程を開発者にとって楽しいものにする目的を持っています。幸せな開発者が最高のコードを書くのですから。 Laravelの習得 Laravelを学ぶ良い方法の一つは、こ
9月14日に開催されたPHPカンファレンス2013で発表してきました。以下が発表資料です。 マニアックな内容なのと、裏に面白そうな発表があったのでガラガラかと予想していたのですが、思った以上に盛況で驚きました。僕個人が伝えたかった内容は「PHPコア見るの楽しい」「Zend OPcacheは仕事上も趣味上も要注目」ということでした。どれくらいの人に伝わったかは不安ですが、この発表を機に興味をもってもらえれば嬉しく思います。 今回は廣川さんとテーマがかぶってしまって驚いたのですが、うっかりお昼ご飯に行っていて僕自身は廣川さんの発表を見られませんでした。プレゼン資料が公開されると嬉しいのですが…。 また、anatooさんやYahoo!の蒋さんもPHPの内部まで踏み込んだ発表をされていました。こうした発表を聞いて、「PHPのソースコードまで読んでみようかな」という人が少しでも増えてくれたらいいなと
米国でこの8年間のJava案件数の増加率はほぼ0%で、PHPは250%増。日本でも上級PHPerがいないと売り上げは伸びない!? PHPで作られたWebサイトが世界中で2億4400万サイトとなり、シェアは40%となりました。そして、そのシェアは今も増えているそうです。(インターネットコム2013年2月の記事を参照) アメリカではJavaの案件数はこの8年間で増えていません。一方でPHPは2.5倍になりました。日本でもそんな感じじゃないでしょうか?もしそうだとすると、Javaメインの事業体では売り上げは伸びないということになります。 ※2014年5月集計では全米のJava求人数は0%成長ではなく、▲30%成長になっています。(2014年10月6日加筆) グラフ:案件数比較 日本の求人数ではJavaが一位でPHPは二位となり、日本国内のJavaの求人数は1万6千件に対して、PHPは1万件を超え
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く