CodeIgniter 徹底ガイド ! へようこそ 本サイトでは、巷で話題の軽量 PHPフレームワーク「 CodeIgniter 」について、 導入から基礎・実践・応用まで、 単なる入門書としてではなく、更に一歩進んだ実践書として ご利用いただけるよう徹底解説していきたいと思います。 CodeIgniterは、高速動作を優先しているためか、ある意味、縛りの緩いフレームワークとなっており、 時折、本来の使用法から逸脱したコードや間違った使い方をしている人を見かけます。 せっかくのフレームワークですから規約に沿ったソースコードで、開発者皆が共通認識の下、 保守性の高い開発を行いたいものです。 これからCodeIgniterを利用してWeb開発を始める方には、順序立てて学んでいただけるように、 また、 すでにバリバリCodeIgniterを利用している方にはリファレンスとしてご活用いただけるよう
第32回 PHPセキュリティ月間(Month of PHP Sercurity)で「PHPセキュリティ月間」(MOPS - Month of PHP Security)について簡単に紹介しました。 今回は静的にPHPソースコードを分析しセキュリティ脆弱性を検査するツールの紹介です。 MOPS Submission 09: RIPS - A static source code analyser for vulnerabilities in PHP scripts http://www.php-security.org/2010/05/24/mops-submission-09-rips-a-static-source-code-analyser-for-vulnerabilities-in-php-scripts/index.html 昨年発見された脆弱性のおよそ3割がPHPアプリケーシ
Explore the PhpStorm IDE for web projects. Get everything you need for PHP, JavaScript, and SQL coding out of the box
PHPからExcelを操作したいことがありましたので、PHPExcelを使ってみました。 現バージョン(1.7.8)を使った簡単な導入方法を紹介します。 いろんなところでも紹介されていますが、備忘録もかねて。 まずは、公式サイトから最新版のPHPExcelをダウンロードします。 ダウンロードしたzipファイルを解凍し、「Classes」ディレクトリを、利用するサイトディレクトリ以下に配置します。 たとえば、「htdocs」がルートディレクトリだった場合、その直下に配置すると「htdocs/Classes」となりますね。 それから、利用したいPHPファイルで「Classes」ディレクトリを読み込めるようにパスを通します。 set_include_path(get_include_path(). PATH_SEPARATOR .$_SERVER["DOCUMENT_ROOT"] . '/Cla
CodeIQ中の人、millionsmileです。 PHPメンターズの後藤秀宣さん出題の『オブジェクト指向的FizzBuzz』問題の解説記事です! PHPは、開発言語別の求人数ランキングで2位であります(出典)。さらには、PHPが書けてオブジェクト指向がわかるエンジニアへの企業ニーズは高いものの、実際は、まだまだ層が薄いということもあり、今回の出題へ、となりました。 ぜひ解説記事を読んで、イケてるオブジェクト指向がわかるPHPエンジニアをめざしてみてはどうでしょう。 以下、問題文です。 FizzBuzz問題を解くアプリケーションを実装しているとします。 ★FizzBuzz問題とは? 1, 2, 3, ・・・という入力に対して3で割り切れる場合は「fizz」、5で割り切れる場合は「buzz」 3でも5でも割り切れる場合は「fizzbuzz」、それ以外は数値をそのまま出力する PHPコードは次
from/to:送信者と受信者。 relay=XXXXXX[a.b.c.d]:リレー先サーバとそのIP pri:優先度。0に近いほど優先度が高い。 stat=……:メールの送信ステータス。 ・Sent → 送信成功 ・Bounced → 中継してやった ・Deferred → 延期(再送信する) delay:相手に届くまでにトータルでかかる時間。 mailer:メール送信に使うプロトコル。 dsn:Delivery Status Notification。 ・2.X.X → 成功 ・4.X.X → 一時的なエラーが繰り返し発生する ・5.X.X → 永続的なエラー 【参考】 http://www.bit-drive.ne.jp/support/technical/serverpack/faq/02-38.html http://oad.seesaa.net/article/14982633
世には幾多の人気webサービスがございますが、いざユーザーとして使ってみると、「ココがこーだったらもっと面白いのになー。。。」とか妄想してしまうのがweb屋のサガってもんです。 とはいえイチから類似サービスを構築するのは気が引けるし、構築ボリュームも遊びで手を出せるような規模じゃなかったり。 既存の人気webサービスを基盤に、自分のアイディアを組み込みたい!でも車輪の再開発は気が進まない!そんな時こそ「クローンスクリプト」の出番です。 今回はそんなクローンスクリプトの中でも、個人的趣向から「PHP製」にこだわって探し出しました。その数なんと16サイト38種! 機能の実装やアルゴリズムの勉強から、オリジナルwebサービスのベースにまで、このクローンスクリプト集をご活用いただければ幸いです♪ ご紹介するクローンスクリプト使用時の注意 本エントリーにてご紹介させていただくクローンスクリプトに関し
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
davidcoallier/node-php - GitHub Node.js上でPHPを呼び出せる「NodePHP」。 Node.js上のコードからFastCGIのインタフェースを使ってPHPを呼び出すというもの。 そもそもそんなことしなくても、NginxとFastCGIでPHP動かしたほうがいいんじゃ?という物ですし、作者自身もNode.jsのコンセプトに反する物だとしています。 とはいえ、なかなか面白い物だと思うのでご紹介。 Node.jsからfastcgi経由でphpを呼び出す部分 https://github.com/davidcoallier/node-php/blob/master/lib/nodephp.js そのまま使わないとしても1つのコード例として使える場面がありそうです。 関連エントリ node.jsに関する基礎や開発・チュートリアルのまとめ node.jsでシンプ
node.js側の実装 Node.jsのAPIだけでやってます。 PHPをコマンドラインで呼び出します。 var util = require('util'); var spawn = require('child_process').spawn; var php = spawn('php', ['callme.php']); // $ php callme.php と同じ意味 var data = { 'foo': 'something', 'bar': 'something', }; php.stdin.write(JSON.stringify(data)); // 標準入力としてPHPに渡す php.stdin.end(); // PHPさん、標準入力終わったよ php.stdout.on('data', function (data) { console.log('stdout:
この記事はPHP5.4 Advent Calendar 2011の23日分です。 trait自体はすでに10日目の@tpyamamotoさんによるTRAITでデザインパターン再考でも取り上げられていますが、目玉機能なのでもう一回ネタにしちゃいます>< おさらい:traitとは 相変わらず公式マニュアルが充実しまくっているのでそちらを見た方がいいのですが、抜粋するとこんな感じ。 PHP5.4の目玉機能 多重継承を安全に行えるよう導入された概念 traitはプロパティ・メソッドを持てる traitは定数を持てない trait自体はインスタンス化できない classを継承してtraitを作ることはできない interfaceを実装してtraitを作ることはできない traitを継承してtraitを作ることが可能 classは複数のtraitを継承して実装を再利用できる traitはclassでは
PHP基礎文法最速マスター | Shin x blogより。 変態文法ならもう少しいろいろあると思うので、まとめてみました。ただ、ほとんどがPHPに限らない話かも。。。 この記事はPHP 5.2.12 (cli) で動作確認してます。5.3の文法は他をあたってください。5.3専用フレームワークなどを探せば勉強になるかも。 復習:PHPは何でも文字列 参考:Modern PHP Programming 入門 @ PFI 社内セミナー - 肉とご飯と甘いもの @ sotarok 変数名も、関数名も、クラス名も何でもかんでも文字列です。逆に言えば、文字列を変数名や関数名として使用することができます。可変関数とか可変変数とか言います。 <?php //可変変数 //////////////// $abc = '変数abcの中身'; echo $abc, PHP_EOL; echo ${'abc'}
Added class member access on instantiation (e.g. (new foo)->bar()) supportメソッドチェーンを実装したい場合、PHP 5.3 まではコンストラクタの代わりに自分自身を返す Creation メソッド (static Factory Method) を用意する必要がありましたが、PHP 5.4 からはコンストラクタメソッドから直接メソッドチェーンを実行できるようになりました。 class Foo { public function bar() { echo 'Hello World' . PHP_EOL; } static public function create() { return new self(); // もしくは return new static(); } } Foo::create()->bar();
※今回、実用性とか特に考えていないネタ記事ですのでそこらへんご了承ください。 PHPは他のオブジェクト指向言語と同じように、return $thisしておけばメソッドチェーン(Method Chaining / Fluent Interface)できます。対応ライブラリも沢山あります。 慣れてくると、メソッドチェーンできないとストレスを感じるようになってきます。DOMDocumentとか、Zend_Feed_Writerとか、なぜかメソッドチェーンできなくて、むずむずします。 そこでどんなオブジェクトでも、無理やりメソッドチェーンできるようにする関数Chainize()を考えてみました。ソースは少し長くなったので最後に載せます。使い方イメージだけ先に書きます。 基本的な使い方 Chainize()で囲うとメソッドチェーンできるようになります。例えば前述のZend_Feed_Writerはそ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く