タグ

PHPに関するakaneharaのブックマーク (12)

  • 初心者を戒めるPHP - Qiita

    この記事は何か 挑発的な文言になってる箇所はあるものの、内容としてはそれなりにまじめに書いたつもり。むしゃむしゃしてやった。いまでは反芻してゐる。 PHPDocは必ず書け あらゆる再利用可能な手続きは、他人が容易に応用できるように型が明示的でなければいけない。メンバー全員が実装コード全てを把握できるものならそれが理想だけれど、残念ながら時間は有限だ。ヘッダだけを読んでメソッドの仕様が理解でき、またはコードを読む助けになるようなコメントが良い。 有名な事実を紹介すると、多くのコードは数か月(早ければ数日!)も経てば、他人が書いたコードに感じられるほど理解できなくなることがしばしばある。もちろん設計の練度にもよらうが、設計判断について注意を要した点などをコメントに残しておくことで、ひいては未来の自分の役に立てることができる。 お前の先輩は「PHPには型がない」などと知ったかぶって意味不明1なこ

    初心者を戒めるPHP - Qiita
    akanehara
    akanehara 2016/06/16
    プラグマティズムだ
  • PHPエクステンションでHelloWorld

    はじめに PHPを使っていると、パフォーマンスの問題や仕様上の欠点に遭遇することがあります。また、LinuxなどでPHPを動かしている場合、すでにある便利なライブラリをPHP上で使いたいケースもあるでしょう。このような時に、PHPエクステンションという選択肢は、開発者にとって非常に大きな強みになります。また、直接PHPエクステンションを作る用途がなくても、仕組みを知っておくと、PHPで原因不明の問題が発生した場合にも役立ちます。そして、そのような問題に遭遇しないための開発につながることもあります。 連載ではPHPエクステンションを初めて作成する方のための全体の流れや、関数やクラスの作成方法、そして、より実践的にライブラリをPHPエクステンションとして利用する方法を紹介いたします。 対象読者 PHPとC言語の基構文を理解していて、PHPエクステンションに興味がある方、さらに深くPHPを知

  • Laravel5を業務で一通り使ってみた感想 - nazolabo

    2ヶ月くらい使ってみたけど、悪くはないんだけど、なんか最近持ち上げられすぎてる気がするので、気になったところを書き出してみる。 あくまで個人的な感想なので、マサカリ投げるのは歓迎。 概要 Noticeを含むエラーが全て例外になる 最近のフレームワークは大体やってそうだけど、エラーを出すと全て例外を出すので、不要にcatchしなければ問答無用で落ちる。これにより、NOTICE出しっぱなしで何となく動いているコードを殲滅できる。標準にしてほしい。Fatalも例外として扱ってくれるが、Fatalを取れるのはプログラム終了後なので、特に意味はない。出力が同一フォーマットになるくらい。 ちなみに自前で実装するにはErrorExceptionのページに書いてあるので、この通り実装しよう。簡単である。 ファイルの配置が自由 composer autoload使っていればどれでもそうなんだけど、Model

    Laravel5を業務で一通り使ってみた感想 - nazolabo
  • PDOからストアドプロシージャ実行 - CODE NAME: TUNE34

    LAMP構成のWebアプリケーション開発では、ストアドプロシージャを全然作っていないなと感じます。私が作っているサービスでは、そんなに入り組んだ処理をしていないだけですけど(^_^;、それでもやっぱり、データベースの主要な機能である、ストアドプロシージャや、ストアドファンクションをPHPから使用する方法は知っておいた方がよいかなと思い、試してみた事をメモします。 PHP(PDO)からストアドプロシージャの実行 MySQLのストアドプロシージャの解説は、「http://dev.mysql.com/doc/refman/5.1/ja/stored-procedures.html」や「http://www.klab.org/media/mysql/index5.html」の記事が非常に参考になりますので、併せてご参照ください。 それでは、早速ストアド体のサンプルとして、MySQLのDESCRI

    PDOからストアドプロシージャ実行 - CODE NAME: TUNE34
  • PHPでHTTPの並行ダウンロードを実現する(Guzzle編) - hnwの日記

    PHPで最近注目のHTTPクライアントライブラリにGuzzleがあります。日での知名度はまだまだという印象ですが、かなり高機能かつ真面目にメンテナンスされている印象で、今後のデファクトスタンダードになりうるライブラリと言えるでしょう。 稿ではこのGuzzleを使ってWebサーバから並行にダウンロードする方法を紹介します。Webブラウザのように同時に複数コネクションを管理しながらKeep-Aliveでコネクションを使い回しますので、下手なコードで実現するより接続先Webサーバにも優しいはずです。 Guzzleの特徴 まずは、Guzzleについて僕が特徴的だと思う点を紹介します。 パッと見でわかりやすいインターフェース cURLは必須ではないがデフォルトでcURLを使う cURLの無い環境がありうるので、cURL無しでも動くのは嬉しい cURLのわかりにくいインターフェースを隠してくれるの

    PHPでHTTPの並行ダウンロードを実現する(Guzzle編) - hnwの日記
  • PHP: MongoCollection::update - Manual

    public MongoCollection::update ( array $criteria , array $new_object , array $options = array() ) : bool|array パラメータ criteria 更新したいオブジェクトの条件。 new_object マッチするレコードを更新するオブジェクト。 更新演算子を含めたり (特定のフィールドだけの更新用)、 ドキュメント全体を上書きしたりできます。 options 更新時のオプションの配列。 現在利用可能なオプションは、以下のとおりです。 "upsert" $criteria にマッチするレコードが見つからない場合に 新しいドキュメントを追加します。 新しいドキュメントを追加するときに $new_object にアトミックな修正子 ($ 演算子) が含まれていれば、この操作を $criteri

  • よりよいPHPを作る — パート1:HHVMとHack [和訳] - Engine Yard Blog

    記事は英語版ブログで公開された記事の翻訳版です。 Facebookは2014年3月20日、HHVM用のプログラミング言語「Hack」をリリースしました。この記事ではHHVMとは何かを紹介しつつ、Hackについて詳しく見ていこうと思います。 Facebookは(おそらく)世界最大級のPHPインスタレーションですが、近年はPHP5を離れ独自開発によるソリューションに向かっています。 ここまできても、まだPHP環境と呼べるのでしょうか?答えは「もちろん」と「とんでもない」の中間ぐらいといえます。 HHVM(HipHop Virtual Machine)の簡単な歴史 Facebookは初めに「HPHPc」というPHPからC++へのコンパイラを作りました。 これはFacebookの膨大なコードベースをC++コードに変換し、そこからコンパイルするというものでした――このプロセスには時間が(何時間も)

    よりよいPHPを作る — パート1:HHVMとHack [和訳] - Engine Yard Blog
  • RIPS - free PHP security scanner using static code analysis

    vulnerabilities Code Execution Command Execution Cross-Site Scripting Header Injection File Disclosure File Inclusion File Manipulation LDAP Injection SQL Injection Unserialize with POP XPath Injection code audit interface scan and vulnerability statistics grouped vulnerable code lines (bottom up or top down) vulnerability description with example code, PoC, patch exploit creator file list and gra

  • Laravel DB テーブルの簡易メンテ画面を作る Laravel-Table-Admin を作りました

    マスタテーブルのメンテナン画面は、単純な CRUD 画面なのですが、テーブル数が多いと、いちいち作るのも手間がかかります。 そこで、Laravel のパッケージとして、Laravel-Table-Admin を作りました。 https://github.com/shin1x1/laravel-table-admin Laravel の対象バージョンは、4.1 以降としています。 何をするものか マスタテーブルのメンテナンス画面など、ごく単純な CRUD 画面だけを作るパッケージです。 作るといっても、コードジェネレータではなく、設定を行えば、自動でテーブルスキーマから画面を動的に構築します。CakePHP の Scaffold と似た発想です。 いわば、機能がごくシンプルになった phpMyAdmin / phpPgAdmin を Laravel アプリケーションに組み込めるというものです

  • home: README + 本ライブラリについて + examples + 利用例 - OpenpearPEG Documentation

    このサイトではopenpearで公開されているPEGパーサコンビネータのドキュメントを記述しています。 なるべく分かりやすい記述を心がけていますが、意味の分からない所などがあったら開発者に質問しましょう。 このサイトでは[http://openpear.org/package/PEG:title=openpearで公開されているPEGパーサコンビネータ]のドキュメントを記述しています。 なるべく分かりやすい記述を心がけていますが、意味の分からない所などがあったら[http://twitter.com/anatoo:title=開発者]に質問しましょう。 特徴 PHPで記述されており、パーサの構築にはPHPそのものを記述する PEGで定義されている演算子は、PEGクラスメソッドとして実装されている PEGで定義されている演算子の他に、実際にパーサを書く際に便利なヘルパーメソッドを用意している

  • Introduction · Rocketeer

    Rocketeer Rocketeer is a modern PHP task runner and deployment package. It is inspired by the Laravel Framework philosophy and thus aims to be fast, elegant, and more importantly easy to use. Like the latter, emphasis is put on smart defaults and modern development. While it is coded in PHP, it can deploy any project from small HTML/CSS websites to large Rails applications. Main features Versatile

  • Codeceptionを使ってみた(1) 導入 - think it over

    個人的に大注目しているPHP用のテスティングフレームワーク Codeception - BDD-style PHP testing. を試しています。 まだ日語情報が少ないですが、以下のコードを見て一発で気に入ってしまいました。 <?php $I->am('testing framework'); $I->wantToTest('your web application'); $I->see('it works!'); Codeceptionってなに? 特徴としては、 単体テスト、機能テスト、受入テストをすべてサポートする「フルスタックな」テスティングフレームワークである 主要フレームワークのサポートが充実している BDDスタイルの文法をサポートしており、テストコードの可読性に優れる 内部ではPHPUnitを利用しており、PHPUnit形式のテストも可能 といったところでしょうか。 20

    Codeceptionを使ってみた(1) 導入 - think it over
  • 1