PHP」カテゴリーアーカイブ

Yii2でHelloWorldしてみた

投稿日:

ちょっとした興味でYii2で Hello World してみたメモです。

Yiiとは

Yii – Wikipedia によると、

Yii は、オープンソース で作成されたオブジェクト指向のコンポーネントベースなMVCのPHPで書かれたWebアプリケーションフレームワークである。Yiiの発音は[ji:]”イー”で、名称は「簡単:Easy)」 ・「効率的:(Efficient)」 ・「高拡張性:Extensible)」を表しているとしている。また、Yiiのスペルは「Yes It Is!(はい、それです!)」の頭文字より名付けられた。

とのことです。
Yii2はYiiの最新バージョンを指します。

The Definitive Guide to Yii 2.0 を見て何も考えずにいってみます。Yes It Is!
続きを読んでみようかな…

ヘッドレスChromeとヘッドレスFirefoxをphp-webdriverで試す

投稿日:

恋は永遠 愛はひとつ
(銀杏Boyz 恋は永遠)

ここらへんに得も言われぬ感情がそっと隠されているような気がする今日このごろです。

というわけでヘッドレスChromeヘッドレスFirefoxをphp-webdriverで試してみました。
※ php-webdriverはPHPでSelenium WebDriverをラップしているライブラリ(Facebook製)です

参考にした記事はこちらです。

ヘッドレスChromeは結構前からざわざわしていた気がするけどFirefoxもヘッドレス出たんですね。
では、いってみましょー。

前提条件

  • java
  • selenium-server-standalone
    • 現時点で最新のバージョン(3.7.1.jar)を用意してください
  • facebook/php-webdriver: A php client for webdriver.
  • chromedriver
    • 現時点で最新のバージョン(chromedriver 2.33)を用意してください
  • geckodriver
    • 現時点で最新のバージョン(geckodriver v0.19.1)を用意してください

が必要です。

ヘッドレスChrome

ソース

百聞は一見にしかずなのでソースから。
続きを読んでみようかな…

PHPで知らなかった書き方に出会って驚いた話

投稿日:

あ~わ~ただしい日々 知らぬ間に蝉しぐれも止んで.
というわけで1年の3/4が過ぎようとしています。まぁビックリ。

自分は生粋のペチパーで曲がりなりにもソースレビューをたまにはしているのですが最近ちょっと驚いたというか、へぇ~こんなふうにも書けるんやねという書き方に出会ったので記します。

驚いた書き方

大体イメージはこんな感じです。
続きを読んでみようかな…

PHPUnitで複数のアサーションを実行して最後に失敗があったか確認する

投稿日:

題目の通りなのですが、PHPUnitで複数のアサーションを実行して最後に失敗があったか確認する方法をメモしておきます。

本来(なるべく)なら1テスト1アサーションがいいのでしょうけど、とりあえず簡単なアサーションをざぁーーーっと流して最後に失敗したものだけを確認したいこともあるのではないのでしょうか。

そんな要求を満たすには以下の方法もあるのではないかという話です。
※すいません、これ以外やったことありませn

方法

以下の例外をキャッチする。

\PHPUnit_Framework_ExpectationFailedException

はい、これだけです。
続きを読んでみようかな…

php-webdriverを簡単に試せるライブラリ書いた

投稿日:

自由研究が終わっていない!やばい!となって週末全力で息子の宿題をお手伝いしました。
このへんは血が争えないというか、やはりこうなってしまうんだなぁと歴史というか、得体の知れない何かを実感しました。

というわけで、先日までちょくちょくとphp-webdriverを触っていたのですが自分の中である程度まとまったのでライブラリ化しました。
名前はpmdです(php-webdriver → pwd → ひっくり返して → pmd)。

2017/09/02 追記


名前、最初気にしてなかったけどやっぱり気になったので変えました。

screru(スクレル) です。
(スクリーンショットが撮れる → screenshot ga toreru → screru)

2017/09/02 追記ここまで

といっても大層なものでもなく、自分自身が欲しいなぁという機能をラップして組み込んだものになります。

入れた機能としては以下の通りです。

  • PHPUnit用に組み込める関数群をTraitとして用意
  • 画面のフルスクリーンキャプチャ
    • 後述しますが、テスト(assertion)失敗時にキャプチャを撮る仕組みもあります
  • 指定要素のキャプチャ

対応ブラウザは、

  • Firefox
  • Chrome
  • Internet Explorer (windows)

のみとなっています(いまのところ)。

使い方

seleniumや各ドライバーのインストールなどは、

README.mdを参考にしてもらうとして簡単な使い方を書きます。
続きを読んでみようかな…

Travis-CIでhhvmのテストが失敗するようになっていたようだ

投稿日:

気軽にCIを試せるぞ!!というわけでGitHubではTravis CIを使っているのですが、なんとなく昔作ったリポジトリでbuildしてみたら見事にコケました。
その時出たメッセージがこちら。

HHVM is no longer supported on Ubuntu Precise. Please consider using Trusty with `dist: trusty`.

HHVMは、Ubuntu Preciseではサポートされなくなりました。dist:trusty にてTrustyを使用することを検討してください。
※Google翻訳によるとこんな感じ

このメッセージを読む限り、hhvmの時は.travis.ymldist: trustyを追加すれば良さそうです。ところがはて、この条件の時はこの設定を読み込むみたいなのってどうするんだろうとなりましてググったら以下の情報が出てきました。

こちらを参考に書き直した.travis.ymlがこちらになります。
続きを読んでみようかな…