タグ

PHPに関するRewishのブックマーク (306)

  • GitHub - phpbrew/phpbrew: Brew & manage PHP versions in pure PHP at HOME

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - phpbrew/phpbrew: Brew & manage PHP versions in pure PHP at HOME
    Rewish
    Rewish 2012/04/16
    brew系のPHP版
  • PHPのinterfaceなめんな - なんたらノート第三期ベータ

    はいタイトルは釣りです。 OOPのインターフェースはただの実装漏れチェック機能じゃないし、ましてや継承は差分プログラミングツールじゃないぞ。というのはわりと一般的な話だけど、Ruby(respond_to?でホントにいいの)とJava(インターフェースが自然すぎてユーザが意識しないのよ)が、PHPに対してOOPどうこうで偉そうに言うのはどうかなと思ったもので。まあそれと同時に、PHPの人自身がその意義を発見してるのかなという疑問もあったりしたんですけどね。 Rubyというのは「オブジェクト指向ってのはつまりメソッドに応答できるアヒルはみんなアヒルとみなせるよね」というレベルのダックタイピングで割り切った言語だと、個人的に認識しています。継承とミックスインにはis_aが応答するけど質はrespond_to?のほうで、インターフェースを宣言してなくてもメッセージ送れたらいいあの感じ。 そんな

    PHPのinterfaceなめんな - なんたらノート第三期ベータ
    Rewish
    Rewish 2012/03/01
  • WebスクレイピングライブラリGoutteで遊んでみる - hnwの日記

    新年あけましておめでとうございます。今年もボチボチやっていきます。 稿ではPHP製のWebスクレイピングライブラリGoutteを紹介します。 Goutte(グット)とは Goutteは必要十分な機能を持ったWebスクレイピングライブラリです。そもそもWebスクレイピングというのは、外部Webページから必要なデータを取ってくるくらいの意味です。つまり、GoutteはWebスクレイピングを簡単に行う道具だと考えればいいでしょう。 具体的には、GoutteはWebクローラとHTMLパーサを組み合わせたようなものです。Cookieやフォームの扱いなどWebブラウザとしての機能は一通り揃っていますし、CSS風の要素指定もできるなど、機能面では他のライブラリと遜色ないように感じます。 さらに僕個人がGoutteに期待している点は、安定性とロングサポートです。Goutteは主要機能をSymfony2お

    WebスクレイピングライブラリGoutteで遊んでみる - hnwの日記
    Rewish
    Rewish 2012/02/25
    ほよよー
  • 素のPHPをテンプレートエンジンとして使うときのコーディング規約

    プログラムとしてPHPを書くときのコーディング規約は、PEARやZendなど代表的なものがたくさんありますが、テンプレートエンジンとしてPHPを使う場合にはそのまま適用しにくいものです。 テンプレートエンジンのコーディング規約って、検索してもあまり見つからなかったので、個人的に採用しているものを晒してみます。あんまり語る人を見たことがないので、「俺はこうしてるよ」とか「ここキモくね?」とかご意見いただけるとうれしいです。 目指すところ 複雑なロジックをテンプレートに書かない / 書けないように規約で縛る 少しでも読みやすさを追求する できあがりのHTMLの美しさも追及する <%= $this->doctype() %> <html> <head> <%= $this->headMeta() %> <%= $this->headLink() %> <%= $this->headTitle()

    素のPHPをテンプレートエンジンとして使うときのコーディング規約
    Rewish
    Rewish 2011/10/03
    大体同じだなぁ。
  • PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記

    はじめに この資料は「PHPでTDD&CIワークショップ」 http://atnd.org/events/16626 で @yamashiro が発表するための資料だよ。 ワークショップ参加者じゃなくても記事読むだけで完結するようには書いてあるよ。 概要としては、Jenkins を使って PHP のウンコレガシーなコードをいかに綺麗にして行くかということを説明する。 自画自賛だけど PHPMD とか PHPCPD の使い方の説明の資料としてもそこそこイケてる資料になってると思いました。まる。 この記事に書かれてることは、割とTemplate for Jenkins Jobs for PHP Projectsとかぶってるけど、プラグインを絞ってあるのと、一個一個のプラグインについて解説、また実際にエラーが起きたときにどうすればいいのか書くよ。 Java と Jenkins のインストールとJ

    PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記
    Rewish
    Rewish 2011/06/22
  • 実は厄介、ケータイWebのセッション管理

    実は厄介、ケータイWebのセッション管理:再考・ケータイWebのセキュリティ(3)(1/3 ページ) “特殊だ”と形容されることの多い日の携帯電話向けWebサイト。そこには、さまざまな思い込みや性善説の上しか成り立たないセキュリティが横行しています。連載は、ケータイWebの特殊性をていねいに解説し、正しいケータイWebセキュリティのあるべき姿を考えます(編集部) 「Cookieを使えない端末」でセッションを管理する方法は? 第2回「間違いだらけの『かんたんログイン』実装法」ですが、多くの方に読んでいただきありがとうございました。 今回は、前回に引き続き架空のSNSサイト「グダグダSNS」のケータイ対応を題材として、ケータイWebのセッション管理の問題点について説明します。携帯電話向けWebアプリケーション(ケータイWeb)のセッション管理は、かんたんログインよりも対策が難しく、厄介な問

    実は厄介、ケータイWebのセッション管理
  • PHP 用ベンチマーキングフレームワーク Joshimane というのを作った | Born Too Late

    あくまでもプロトタイプですが. gist: 813246 - Joshimane: A Tiny PHP Benchmarking Framework... But it's just a prototype yet.- GitHub プロトタイプなので, API は大幅に変わると思います. 使用イメージ 以下のようにして使用します. これを実行すると, 以下のような結果が得られます. $ php example.php Job A: 0.52975106 Job B: 0.26065207 一応補足すると, Job A ではループ時に毎回 (つまり 100 回) count($range) が実行されるのに対して, Job B ではループの開始前に一度だけしか count($range) が実行されないので, これだけの差が出ます. 名前について 女子マネです. なんかこう... 陸上部

    Rewish
    Rewish 2011/02/10
    ストレートな名前
  • Nico Kaiser

    Nico Kaiser 👋 Web developer by day, musician and photographer by night. Photos Bandoneon.app Facebook GitHub Instagram LinkedIn Mastodon YouTube

  • PHP シリアライズデータ型(PHP Advent Calendar jp 2010 Day 2)

    今年(2010年)は、日でも技術系コミュニティのAdvent Calendarが流行していますね。 PHP関連だとCakePHP(明日書きます!)やSymfony、OpenPNEなどはあるのですが、PHP単体が無かったので作ってみました。 PHP Advent Calendar jp 2010 Advent Calendarについては、下記リンクが詳しいです。これを書いている段階では、まだ参加枠があるので、どんどん参加して下さい。みんなのちょっとしたPHPネタを書いていきましょう! 技術系Advent Calendarについて 他の Advent Calendar というわけで、まず初回(12/2に始めたので、Day1は空席で)のネタは、最近自分の中で流行中のPHPのシリアライズデータ(serialize()/unserialize())について。 シリアライズデータのデータ型 Cake

    Rewish
    Rewish 2010/12/02
  • JavaとPHPの文法比較

    こんにちは、スパイシーチキン弁当に慣れてきつつある浦です。 今回はJavaPHPの文法を比較し、何が同じで何が違うかを説明します。 Java開発者にとってはPHP入門になりますし、 PHP開発者にとってはJava入門になります。 (追記:というよりはPHPプログラミングで気をつけたい点として読んでいただければ、幸いです。) ■まずは共通点から クラスの継承 PHPJavaのどちらも、同時に1つの親クラスを継承できます。 extendsの書き方も同じです。

    JavaとPHPの文法比較
  • 名前空間とクラス名 - ゆっくり*ゆっくり

    11月12日にパーフェクトPHPが発売しました。購入いただいた方、コメントいただいた方、ありがとうございます! - さて題です。PHP 5.3から名前空間が使えるようになりました。僕はここ最近Symfony2で社内向けのアプリを開発したり、Symfony2のバンドルをいくつか作ったりしてすっかり名前空間に慣れてきました。 名前空間を使い始めて感じたのが、クラス名をつける際の感覚がこれまでとは少し違うように思います。これまで、というのは主にPEAR形式のクラス名を指しています。Doctrineを例にとって解説します。 名前空間とクラス名 Doctrine 1では、次のようなクラスが定義されています。 Doctrine_Expression_Mysql Doctrine_DataDict_Mysql Doctrine_Connection_Mysql これらを単純に名前空間を使った形式に置き

    名前空間とクラス名 - ゆっくり*ゆっくり
    Rewish
    Rewish 2010/11/14
  • PHPで認証して、mod_xsendfileでファイルを出力する

    ApacheでX-Sendfileが利用できるmod_xsendfileをPHPと連携して使ってみました。 PHPで認証してから、許可したユーザのみにファイルを出力する、という処理を実装する場合、ファイルはdocument_root外に配置しておいて、readfile()やfpassthru()でファイルを出力するという手法を良く使います。 この方法でも問題無い場合が多いのですが、容量の大きいファイルを出力する際は思ったようなスピードが出ない時があります。 そのような時はmod_xsendfileを使って、ファイル出力の部分をApacheに任せてしまう方法が有効です。 ここでは2010/11/12時点の最新版であるmod_xsendfile 0.12を対象としています。またインストール環境はRHEL、CentOSを想定しています。 mod_xsendfileのインストール mod_xsen

  • ゲキカワXdebugでモテモテPHP開発 - 肉とビールとパンケーキ by @sotarok

    今や PHP で開発するときに Xdebug は誰もが当然つかってるよね!! まあ、「俺はそのままのエラーが好きなんだ」って人は置いておくとして。。。 大体の人は、stack traceがあると嬉しいとか、var_dump() 見やすいとか、そういうことで Xdebug ってのは愛用だとおもうんですよ! IDE のひとは remote debugger としてつかってるのかな? で、Xdebug、わかりやすいんだけど、どうもカワイサが足りないよね?なんかこう、毒々しいというかなんというか。。 開発中にエラーだしたときちょうど後ろをかわいいデザイナーの女の子が通りかかって画面が目に入ったとき「プログラマーってなんて品のない画面を見てるのかしら」なんて思われたらモテないよね!! ってことで、まあ冗談はこのへんにしておいて、見た目が綺麗だとやる気も出る(?)ってことで、Xdebug の出力をかわ

    ゲキカワXdebugでモテモテPHP開発 - 肉とビールとパンケーキ by @sotarok
    Rewish
    Rewish 2010/11/09
    UserCSSは http://userstyles.org/ に置いてあるとインストール/アップデートが楽かも。
  • さくら VPS の Ubuntu 10.04 に nginx + PHP(FastCGI) な Web サーバーを構築する | 暇人じゃない

    Name chocoby, cho_co, Kenta Okamoto Links Blog (2019-) Blog GitHub (chocoby) Twitter (cho_co) Speaker Deck (chocoby) Mail Development CurryBu Web service to share and explore curry 🍛 jp_prefecture Convert japan prefecture code into prefecture name buranko Tool to parse a git branch name and append commit message Skills Programming - Ruby, Swift, Golang, JavaScript (Flow, TypeScript) Frameworks -

  • 文字コードに起因する脆弱性を防ぐ「やや安全な」php.ini設定

    補足 この記事は旧徳丸浩の日記からの転載です(元URL、アーカイブはてなブックマーク1、はてなブックマーク2)。 備忘のため転載いたしますが、この記事は2010年9月27日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり PHPカンファレンス2010にて「文字コードに起因する脆弱性とその対策」というタイトルで喋らせていただきました。プレゼンテーション資料をPDF形式とslideshare.netで公開しています。 文字コードのセキュリティというと、ややこしいイメージが強くて、スピーカーの前夜祭でも「聴衆の半分は置いてきぼりになるかもね」みたいな話をしていたのですが、意外にも「分かりやすかった」等の好意的な反応をtwitter等でいただき、驚くと共に喜んでいます。土曜にPHPカンファレンスに来られるような方は意識が高いというの

  • はてなブログ | 無料ブログを作成しよう

    タイプロと篠塚くんに狂った4ヶ月と、デビューから今日までの5ヶ月の忘備録(23歳おめでとう) 篠塚大輝くん、23歳の誕生日おめでとうございます 1年前の7月はおそらくタイプロ書類審査通過のお知らせが来ていたくらいのはずだ……あまりにも激動の1年すぎる。このブログの前半は2月14日、最終審査発表の前日にだらだら書いていたもので、うまくおさめられなくてお蔵…

    はてなブログ | 無料ブログを作成しよう
    Rewish
    Rewish 2010/09/23
  • ソーシャルブックマークの情報を取得するPHPライブラリ「Services_SBM_Info」 - Rewish

    URLに対するソーシャルブックマークの情報を取得するライブラリをOpenpearで公開しています。 Services_SBM_Info - Openpear と言う報告だけでは何なので、概要と使い方を書いてみます。 ライブラリについて URLに対するソーシャルブックマーク(以下SBM)の情報を取得するPHP(PEAR)ライブラリです。 ライセンス New BSD License 依存ライブラリ HTTP_Request2 取得できるSBMの情報 ブックマーク数 ブックマーク数の単位 (user/users) ブックマーク数のランク (色の変わるブックマーク数に応じたランク) ブックマークコメント エントリーページのURL 追加ページのURL 対応しているSBMサービス はてなブックマーク (Hatena) Delicious (Delicious) livedoorクリップ (Livedo

    ソーシャルブックマークの情報を取得するPHPライブラリ「Services_SBM_Info」 - Rewish
    Rewish
    Rewish 2010/09/08
    SBMじゃないけど、Twitterに対応しました!
  • PHP版 List_RubyLike - naoyaのはてなダイアリー

    PHP で遊んでいます。 練習がてら、以前に作った List::RubyLike (http://github.com/naoya/list-rubylike) という Perl モジュール *1 の PHP での実装を作ってみました。 <?php require_once 'List/RubyLike.php'; echo LR(array("foo", "bar")) ->push("baz", "piyo") ->map(function ($v) { return strtoupper($v); }) ->join(", ") . "\n"; echo LR(range(1, 5)) ->grep(function ($n) { return $n % 2 == 0; }) ->map(function ($n) { return $n * $n; }) ->sum() . "\n

    PHP版 List_RubyLike - naoyaのはてなダイアリー
    Rewish
    Rewish 2010/09/05
    naoyaさんがPHP。
  • Scripting Languages I: Node.js, Python, PHP, Ruby - Hyperpolyglot

    a side-by-side reference sheet sheet one: version | grammar and execution | variables and expressions | arithmetic and logic | strings | regexes | dates and time | arrays | dictionaries | functions | execution control | exceptions | threads sheet two: streams | asynchronous events | files | file formats | directories | processes and environment | option parsing | libraries and namespaces | objects

  • Chrome Logger - Server side application debugging

    About Chrome Logger is a Google Chrome extension for debugging server side applications in the Chrome console. Most languages include their own logging capabilities, but sometimes it is easier to see your logs right in the browser. Chrome Logger used to be known as ChromePHP. If you are feeling generous, you can donate to help support development. Usage Using Chrome Logger is simple: Install the C

    Rewish
    Rewish 2010/08/28
    FirePHPのChrome版