PHPerKaigi 2019で登壇した際に発表した資料です。 https://fortee.jp/phperkaigi-2019/proposal/d1829032-5c72-42d5-ac65-18f1ee56ee0b 資料作成で調べた資料はこちらにあります。 https://scrapb…

【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース
※2017/05/29現在Repositoryの章までしか聞けていません。聞いている際に浮かんだインスピレーションが揮発しないよう永続化する為に書いた記事です。 php-genba.shin1x1.com まさか日本語でこの内容を聞けるコンテンツがあるとは思わなかったです。 これは英語をマスターすれば Sound of Symfony The Laravel Podcast Ruby on Rails Podcast JavaScript Air devchat.tv などのPodcastからより多くの興奮を得られる事を意味します。 プログラミング経験3年、細かい修正ばかりで設計レベルの経験値が全くない自分ですが、各章について以前から個人的に思っていた事、お三方の知見からインスピレーションを得た内容を書き残します。 1. DI 「依存性の注入(Dependency Injection)」と
今年の5月1日に、仙台市内のホテルで多重予約のトラブルが発生したと報道されています。 部屋数203室の仙台市のビジネスホテルで、9月18~23日の宿泊予約を数千件受け付けるトラブルがあった。アイドルグループ「嵐」のライブが宮城県内で開催される期間だった。インターネットでの申し込みが殺到し、システム障害が起きたとみられるという。 トラブルがあったのは、仙台市泉区の「ホテルルートイン仙台泉インター」。ホテルなどによると、9月19、20、22、23日に宮城スタジアム(宮城県利府町)で嵐がライブを開くことが明らかになった後の5月1日午前5時ごろ、ネットを使った予約申し込みが殺到していることに気づいたという。 203室のホテルなのに「予約」数千件 嵐公演で殺到か:朝日新聞デジタル より引用 5月1日の朝に何があったのか調べてみると、この日の早朝にテレビや新聞でコンサートの情報が流れたようですね。 お
いや、ほら、「あ」も「┗」も「ω」も「★」同じ幅でしょ?(メモ帳で) んー、だからフォントによるんだって。(ブラウザで) ……… 明らかに不具合ともいいにくいこの現象。 じゃぁ、ないなら作ります? 理屈はかんたん。Shift_JISにすれば、バイト数=文字幅です。 mb_strwidth() 代替案 <?php function mb_strwidth2($s, $e = null) { if (is_null($e)) { $e = mb_internal_encoding(); } return strlen(mb_convert_encoding($s, 'SJIS-win', $e)); } mb_strimwidth() 代替案 <?php function mb_strimwidth2($s, $b, $w, $t = null, $e = null) { if (is_nul
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
PHPを愛する試みというものを個人的にやっている PHPを愛する試み PHPを愛する試み 〜調教編〜 今回は、self:: parent:: static:: 遅延静的束縛について図で整理してみた。 スコープ定義演算子 (::) まず「::」について。これはスコープ定義演算子という。マニュアルには以下のようにある。 スコープ定義演算子 (::) スコープ定義演算子 (またの名を Paamayim Nekudotayim)、 平たく言うと「ダブルコロン」は、トークンのひとつです。 static, 定数 およびオーバーライドされたクラスのプロパティやメソッドにアクセスすることができます。これらの要素をクラス定義の外から参照する際には、 クラスの名前を使用してください。PHP 5.3.0 以降では、変数を用いてクラスを参照することも可能です。 変数の値に (self や parent、 stat
「今までテストを書いたことがないから、そろそろテストを書かなくては・・・」という、PHPUnitもテストのこともまだ知らないプログラマにとって、一番最初に欲しいのは「何から始めたらよいのか」を知るためのガイドです。 本書は、PHPUnitを使ったテストの書き方を、短時間で知るための小冊子です。これだけ読めば、PHPUnitでテストを書いていけるようになります。 本書が特徴的なのは、ユニットテストの形式的な書き方だけを単純に説明した本ではないということです。本書では、PHPUnitによるテストを、オブジェクト指向の原則に沿った、良いコードへリファクタリングしていくための道具、と位置づけています。その流れに沿って、必要最低限の基礎知識や、実際にありそうなサンプルコードで使い方が説明されています。モック(テストダブル)を使ったテスト、フィクスチャを使ったテスト、APIのテストといった対象ごとのP
この記事は TDD Advent Calendar jp: 2011 の 14 日目です. 前日: TDD戦略 -TDDを導入し進化させる方法- #TDDAdventJP (@kyon_mm さん) 翌日: TDDに対して思っていること (@gab_km さん) この記事の概要 TDD で開発することで設計上の問題点に気づきやすくなる Singleton はグローバル変数である Singleton の使用はできる限り避けるべきである テスタビリティを意識しよう TDD では, 原則としてユニットテストを書いてから実際のコードを実装します. なので, 自然と「テストのしやすさ (テスタビリティ)」を意識して実装することになります. そして, TDD においては一般的に, テスタビリティを意識することで, 設計が改善されるとされています. オブジェクト指向には難しい概念がたくさん登場します.
なんかドキュメントが見つからなかったんで調べてみた。 assertContains($needle, $haystack, $message ) heystack に needle が含まれていること heystack が array の場合は in_array( haystack, needle ), string なら strpos assertNotContains($needle, $haystack, $message ) assertContains の逆 assertEquals($expected, $actual, $message , $delta ) expected と actual は同じ内容であること 配列→ ksort して比較 オブジェクト→ serialize して比較 その他 → 型も見る比較( === ) assertSame($expected, $
PHP+Linuxで指定URLのWhoisを取得するためのスクリプトです。 手順としては、 ① 指定URLのホスト部分だけ抜き出し ② Linuxのwhoisコマンドを使ってwhois情報取得 ③ 取得できなかった場合、ホストをいじって再取得 ④ 繰り返し です。 実際に書きます。 相変わらず適当なので、コンパイルエラーとか出たらすみませんw <?php // whoisを取りたいURL $url = "http://example.com/dir/"; // ホスト部抜き出し $host = split_host($url); // ホストを「.」できっておく $sep = split("\.", $host); for($i=0; $i<count($sep); $i++){ // LinuxコマンドにてWhois取得 $whois = shell_exec("whois " . $h
This snippet shows you how to limit the download rate of a file download. Remark: I created this snippet around 2006, today there are much better solutions available like the QoS Bandwidth Throttle PHP Class (Alternative link). (Thanks aargoth) // local file that should be send to the client $local_file = 'test-file.zip'; // filename that the user gets as default $download_file = 'your-download-na
こんにちは、お昼はもっぱら社内のキッチンで料理をしているエンジニアののびすけです。 LIGではメインの開発言語にPHPを使っていて、僕はPHPが大好きなのですが、昨今のWeb業界ではPHPなんて…(ry とか言う輩が少なくないです。 ※気になる人は「PHP Dis」でググってみるといいかも そんな声に負けずにPHPの新たな可能性を感じるFacebook製の「新言語Hack」を紹介します! なお、今回の記事はPHPer界隈で話題になっていた「新言語Hackで最強PHPerになろう!」という記事を元に、初心者向けの内容にしたものです。 参考:新言語Hackで最強PHPerになろう! https://qiita.com/yone098@github/items/7ff3616030e8d19400a7 それでは、はじめます! 目次 「新言語Hack」とは HHVM PHPとHHVM HHVMとH
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く