PHP Conference 2024の登壇資料 https://fortee.jp/phpcon-2024/proposal/74c94e3c-a587-47f1-96c8-235d688571eb

先日、macOSをSierraからHigh Sierraにバージョンアップするタイミングで一度OSをまっさらにしてからやったのですが、その際にPHPがインストール出来なったので対処方法をまとめます。 環境 macOS High Sierra 10.13.4 homebrew 1.5.14 phpenv v0.0.4-dev やったことと発生したエラー HDD初期化→High Sierraインストール後にAnsibleでサクッと(は行かなかったけど)諸々インストールして行きました。 やってることはmacの初期設定とローカルで開発するのに必要なソフト等をインストールしてます。 雰囲気でAnsible書いたのですべて思うように動かず手動で対応した部分もあり、 その際インストールしたphpenvでPHP(ここでは7.2.0)をインストールした際に以下のエラーが起きました。 $ phpenv ins
時代変遷 JavaScript では JavaScriptで非同期処理の時代変遷と言えば,こんな感じでやってきたと思います. (例) 1秒後に+1した値をコールバック引数に渡す関数を使って,以下の2つの流れを同時に処理し,両方終わった段階で「All done !!」と表示することにします. 1→2→3 4→5→6 callback (旧石器時代) function plusOneLater(a, callback) { setTimeout(function () { callback(a + 1); }, 1000); } var active = 2; plusOneLater(0, function (x) { console.log(x); plusOneLater(x, function (y) { console.log(y); plusOneLater(y, function
アンチパターンなので、見出しの内容はすべてバッドノウハウです。 前に書いたやつ PHPのモダンな開発環境を紹介する - Qiita PHP - Functoolsを作った - Qiita PHPのlist()はタプル展開のための機能 - Qiita 関係ないけどこれも: シェル、ターミナル、コンソール、コマンドライン 追記: 本文中でとりあげた「怖い話」について、ちゃんと説明しました PHP - namespaceとBOMに何の関係があるのさ - Qiita ファイルの最後に?>を書く PHPコードは<?phpで始まり?>で締める。それがPHPの常識(キリッ ……そんなことはもう綺麗さっぱり忘れよう。PHPはテンプレートエンジンではあるが、Webアプリケーションを書く上では、もはやテンプレートエンジンとしての機能は求められなくなりつつある。 不要な?>を書いてはいけない理由は明確で、<?p
最近は開発環境を仮想化するケースが増えてきました。元々WindowsではPHPの開発時にVMWare Playerを使ってLinuxを動かして開発することが多かったですが、それがMac OSXやLinuxであっても有益に使われています。一つのプロジェクトであれば環境をローカルに作ってしまっても良いのですが、プロジェクトごとに異なる環境を用意したり、LAMPだけに限らないアーキテクチャの場合に開発に携わる人員分、環境を作るのは大変です。 そこで今回はphpstackを紹介します。CoreOS上にDockerを使って様々なサービスをインストールして様々なプロジェクトに対応できるPHP開発環境を構築してくれます。リモートにログインせずとも使えるという利点があります。 必要なもの Docker Docker Compose オプションとして、 Vagrant VirtualBox があると便利です
ところがAPIが提供されていないWebサービスではどうなるでしょうか?多くの場合は、Webブラウザで閲覧することを目的として作成されたHTMLをスクリプトで取得し、解析するしか手段は残されていないはずです。この、HTMLを解析して必要な部分だけ 切り取る(scrape) 手法を総称して、 スクレイピング(scraping) というのです。 基本的な流れ (導入編) [http://qiita.com/mpyw] (http://qiita.com/mpyw) の最新記事を最大5件スクレイピングする例を示していきます。具体的な実装は後ほど示しますので、ここではスクレイピングするコードを書くときの考え方をまとめます。 目的とする結果 最初に、目的とする結果を var_dump 関数を用いて示します。 array(5) { [0]=> array(6) { ["title"]=> string(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く