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
Now you can use it simply via robo. Composer Run composer require consolidation/robo:^3Use vendor/bin/robo to execute Robo tasks.Usage All tasks are defined as public methods in RoboFile.php. It can be created by running robo init. All protected methods in traits that start with task prefix are tasks and can be configured and executed in your tasks. Examples The best way to learn Robo by exampl
はじめに PHPUnitにはコードカバレッジ解析の機能があります。 このカバレッジの出力には、かなり時間がかかります。 チームメンバーからCIのテストが遅いので何とかしてほしいと、issuesがあがってきたので、スピード改善できないか検討し、最終的には並列実行することで、大幅に改善することができましたので、紹介します。 コードカバレッジの出力 カバレッジを出力するには、phpunitコマンド実行時のオプションに--coverage-*を指定します。 phpunitのヘルプに詳しい説明があります。 $ bin/phpunit --help PHPUnit 4.8.6 by Sebastian Bergmann and contributors. Usage: phpunit [options] UnitTest [UnitTest.php] phpunit [options] <direct
2021年2月26日追記 最近は PCOV が良いらしいです。 PCOV は PHPUnit8 以降の対応なので、この記事は PHPUnit8 未満の方向けです。 2021年8月2日追記 が、phpdbg と比べてカバレッジが下がってしまう場合もあるようです ユニットテストの評価に、コードカバレッジを使用することは、よくあると思います。 従来より、 PHPUnit にはコードカバレッジ解析機能が実装されており、 HTML をはじめとするいくつかの形式で、レポートを出力可能です。 PHP5 では、 xdebug が提供するステートメントカバレッジ機能が利用されてきましたが、これが大変遅く、1100 Assertions ほどの EC-CUBE3 のカバレッジを出力するまで、2時間以上かかります。 しかも、速い CPU にしても大して速くならないのです。 Windows 環境では特に遅くなるら
The Qiita Advent Calendar 2017 is supported by the following companies, organizations, and services.
(例外安全ネタでもう少し長い記事が書きたいんだけど、思いつきだけまとめておく) PHPにはアトミックでない関数が結構ある。本来1つの処理だったものが複数に分かれているような関数。終了する方の関数を呼ばずにいると、変な状態のままになってしまう。 fopen/fclose flock(LOCK_EX)/flock(LOCK_UN) PDO::beginTransaction / PDO::commit / PDO::rollback ob_start / ob_get_clean こういったものは気をつけて書かないと終了の関数だけが実行されず、例外安全を破ってしまう。 どうすれば「気をつけて書いている」ことになるのか考えてみた。 finallyを都度書く finallyを使えば、例外が起きても終了処理が呼ばれる。とりあえず、これで例外安全にはなる。 ob_start(); try { // 例
はじめに 計算機用言語の処理には決まった方法があります。文字列で与えられた言語は、字句解析によってトークンに分けられ、構文解析によってトークン同士が結びつけられ、意味解析によって解釈されます。 字句解析を行うプログラムが字句解析器(lexer)、構文解析と意味解析を行うのが構文解析器(parser)です。字句解析器としてはlexあるいはflex、構文解析器としてはyaccあるいはbisonが有名で、資料も豊富にありますが、いずれもC言語で利用することを想定したソフトウェアです。 PHPで利用できる字句解析器としてはPHP_LexerGeneratorが、構文解析器としてはPHP_ParserGeneratorがあります。本稿では、簡易電卓を実装するという例を通じてPHP_LexerGeneratorとPHP_ParserGeneratorの使い方を紹介します。 必要な環境 XAMPP fo
The life jacket for your team How confident are you in your safety against data leaks, downtimes and lawsuits? SymfonyInsight helps you protect your team and your project against Save your teams and projects before they sink! SymfonyInsight helps teams of all sizes to be safe against critical risks to their projects and businesses.
Version 1.3.6 is released. Check the download section! Sphider is a lightweight web spider and search engine written in PHP, using MySQL as its back end database. It is a great tool for adding search functionality to your web site or building your custom search engine. Sphider is small, easy to set up and modify, and is used in thousands of websites across the world. Sphider supports all standard
The document provides an overview of domain-specific languages (DSLs) and language-oriented programming. It discusses how DSLs are specialized computer languages for a particular domain and provides examples of DSLs. It also describes how language-oriented programming uses DSLs to define programming abstractions and implementations through language tools and workbenches. Finally, it outlines how a
野暮用でPHPで書いたツールをPharにすることになりました。 pharというのはcomposer.pharとかのあれです。アプリを構成する複数のファイルを一つの実行可能なファイル(もちろん別途PHPを導入しておく必要はあります)にまとめることができるやつです。正確にはそれだけのものではありませんが、2016年においてそれ以外の用途も特に思いつかないのでそれでいいと思います(投げやり で、PHP: Phar - Manual を読んでみたんですがまったく意味がわかりません。スタブってなんだよ!__HALT_COMPILER();とかなにそれ怖い…… でもまあ、こういう面倒なことにはなんらかツールが用意されているものだと探してみたらありました。Boxです。これを使えば簡単にPharを作成することができます。 PHP: Phar - Manual が理解できなくても大丈夫。そう、Boxならね。
はじめに PHP Advent Calendar 2016 20日目の記事です。 PHP7で堅牢なコードを書くの記事が、だいぶ話題になりました。スライドしか見ていないのですが、共感するところが凄く多かったです。それにあやかって、普段のphpでの開発の際に注意していること・やっていることを整理してみました。 もともとはJavaの経験が長く、IntelliJ IDEAを使っていたので、同じところが出しているPhpStormを使って開発しています。その機能を使っていくと、ある程度はJavaと近い感覚でコードを書けるというお話です。 変数がどの型なのかを指定するドキュメンテーションコメント symfonyのコンテナーから取り出した場合、型がわからなくて、どのメソッドがわからなくて困る、といったことがあります。そういったときは、下記のようにしてローカル変数に対してコメントをつけると、その変数の型をP
※ 下記の内容はすべて公式マニュアルに書かれています ※ 社内向けに書いたので若干整合性が怪しい create-project 知られていないどころか超有名な機能ですが、尺稼ぎで create-project から。 フレームワークをいじってると 下記のコマンドでインストールします composer create-project symfony/framework-standard-edition my_project_name のような文言によく出くわします。 これがなにしてるかは http://qiita.com/DQNEO/items/74f4bb8fe447e4582a97 が詳しい。 要するに git で引っ張ってきてその中で composer install してるだけのようです。 使うことはあまりないと思うけど、覚えておくと便利。 autoloader-suffix
PHPとComposerで先日composer/composerのdev-masterに依存したプログラムを作っていたら、composer installのときに以下のようなエラーがでてインストールできない問題にぶちあたりました。 Your requirements could not be resolved to an installable set of packages. Problem 1 - kohkimakimoto/altax v3.0.6 requires composer/composer dev-master -> no matching package found. ... 解決方法はcomposer.jsonに"minimum-stability": "dev"と"prefer-stable": trueを指定するか、対象のパッケージに"composer/compo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く