Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

phpcs & phpcbf コマンドについてメモ PHP コーディングルールの整理にあたり、 phpcs と phpcbf について色々触ってみたので、メモ。 あくまで、メモ程度。(予防線) 概要 phpcs / phpcbf とは下記を略したコマンド名であり、それぞれの役目は下記の通り。 phpcs : PHP Code Sniffer 設定したルールに基づき、指定したファイルのコーディングスタイルを 判定 phpcbf : PHP Code Beautifier and Fixer 設定したルールに基づき、指定したファイルのコーディングスタイルを 整形 phpcs / phpcbf ともにソースコードは GitHub 上の squizlabs/PHP_CodeSniffer で公開されている。 インストール方法 インストール方法は README に書いてある通りだが、管理のしやすさか
sudo yum install php Loaded plugins: extras_suggestions, langpacks, priorities, update-motd amzn2-core | 2.4 kB 00:00:00 Resolving Dependencies --> Running transaction check ---> Package php.x86_64 0:5.4.16-46.amzn2.0.2 will be installed --> Processing Dependency: php-cli(x86-64) = 5.4.16-46.amzn2.0.2 for package: php-5.4.16-46.amzn2.0.2.x86_64 --> Processing Dependency: php-common(x86-64) = 5.4.1
devオプションで開発環境でのみインストールするようにしている。packagistの記載ではglobalオプションをつけているが、composerのホームディレクトリにインストールしない場合は不要。 インストールが完了すると、codesnifferを使用できるようになるので、ヘルプを表示してみる。 $ cd プロジェクトフォルダパス $ ./vendor/bin/phpcs -h Usage: phpcs [-nwlsaepqvi] [-d key[=value]] [--colors] [--no-colors] [--cache[=<cacheFile>]] [--no-cache] [--tab-width=<tabWidth>] [--report=<report>] [--report-file=<reportFile>] [--report-<report>=<reportFi
0 time_nanosleep <internal>:-1 1 PhpProfiler\Lib\Loop\LoopMiddleware\NanoSleepMiddleware::invoke /home/sji/work/php-profiler/src/Lib/Loop/LoopMiddleware/NanoSleepMiddleware.php:33 2 PhpProfiler\Lib\Loop\LoopMiddleware\KeyboardCancelMiddleware::invoke /home/sji/work/php-profiler/src/Lib/Loop/LoopMiddleware/KeyboardCancelMiddleware.php:39 3 PhpProfiler\Lib\Loop\LoopMiddleware\RetryOnExceptionMiddlew
概要 今まで意識して使っていなかったが、テストを作成する際に調べていたら結構重要なことだったので、忘備録。 PHPでいうと assertSame => 「===」 assertEquals => 「==」 となる。 そのため、型までしっかり判定したいというとき(ほとんどの場合そうだと思うが)は assertSameを使うと良い。 追記 assertEquals をわざと利用する場合は、背景、理由についてコメントを残すことを進める。 そうしなかった場合、 assertSameにしたら、ユニットテストがおかしくなったなど起きる可能性があるため。 そもそもそのようなテストがよくな(ry
やりたいこと Laravel 6.xをつかってるがLaravel8.xも出たし、そろそろアップグレードしようと思いやってみた手順です さすがに、でてすぐの8だと、サードパーティパッケージがまだ対応していないのが多いので7.xにします 自分がやったことをつらつらメモです PHPのバージョン PHPのバージョンが7.25が必須になりました Laravel6の時点で7.2が必要でした 今回自分は非対象でした パッケージ [影響高] composer.jsonの下記パッケージを書き換えます laravel/frameworkを^7.0へ nunomaduro/collisionを^4.1へ phpunit/phpunitを^8.5へ laravel/tinkerを^2.0へ facade/ignitionを^2.0へ また、自身が使っているパッケージが7.xに対応しているか確認します 一つ一つ確認
PHP8.1 / PHP8.0 / PHP7.4 2019/11/28にPHP7.4.0がリリースされました。 ということで、ここではドキュメント化されている新機能や変更点を片端から試してみます。 これら以外にもドキュメント化するほどでもない軽微な変更が多々入っているはずですし、単なるバグ修正も山ほどあるのですが、今回はそのあたりには触れません。 把握しきれていませんしね。 インストール 古いXAMPPが入っていたらディレクトリまるごと削除。 最新のXAMPPをインストール。 Windows版PHPからVC15 x64 Thread Safeをダウンロード。 解凍したディレクトリをpath\to\xampp\phpにまるごと上書きコピペ。 php.ini-developmentをphp.iniにコピー。 php.iniのextension_dirをエクステンションが入ってるディレクトリへの
導入 PHPで配列を結合するための方法は幾らかありますが、それぞれ微妙に挙動が異なるので、ここでは違いが分かりやすいようにまとめてみます。
<?php /** * Basic認証を要求するページの先頭で使う関数 * 初回時または失敗時にはヘッダを送信してexitする * * @return string ログインしたユーザ名 */ function require_basic_auth() { // 事前に生成したユーザごとのパスワードハッシュの配列 $hashes = [ 'ユーザ名' => '$2y$10$TThG3fsMJegLJHzVQbz8IeHhvpgBg7P5j6gjQWEUOrKKCtsA9L87G', ]; if ( !isset($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) || !password_verify( $_SERVER['PHP_AUTH_PW'], isset($hashes[$_SERVER['PHP_AUTH_USER']]) ?
概要 Laravel では様々なグローバルヘルパ関数が用意されています。 https://readouble.com/laravel/7.x/ja/helpers.html 今回は自作のヘルパ関数を作る方法をご紹介します。 環境 PHP 7.4.5 Laravel 7.9.2 やり方 自作のヘルパファイルを作成して、オートローダーに読み込んでもらいます。 自作のヘルパファイルを作成する app/helpers.php を作成します。 (場所はどこでも良いです) <?php declare(strict_types=1); if (! function_exists('hello')) { /** * @return string */ function hello(): string { return 'Hello World.'; } }
seleniumを使ってPHPでChromeの自動操作をする テストとかどうでも良いから自動操作がしたい! seleniumは本来phpUnitなどと組み合わせてテストを自動実行するために使われるのだが私はただブラウザの自動実行を体験したいだけ。 なので今回は『とりあえず自動操作を体感』したいという人に向けて発信する。 seleniumとは これをご覧になるのが一番。コマンドを叩くだけで勝手にブラウザが起動して入力・検索を行っている。本記事ではここまでを目指す。 環境構築 今回はPHPで自動操作のプログラムを書き、Chromeで自動操作を実行する。 公式ではphpでSeleniumを動かすドライバーがないため、Facebookの中の人が作ったSeleniumのPHP版、facebook-webdriverを使用する。(SNSのFacebookサービスとは無関係です) 作業ディレクトリの作成
「はじめに」の「はじめに」 2016年版としてマイグレーションしました。 特にこだわりが無い場合は、こちらを参照してください。 はじめに こんな感じで資料を作ろうとしていた草稿です。 文中のソースコードの正誤とかは見きれていません。 ツッコミとか有れば、よろしくお願いしますm( _ _ )m PHPUnitを使ったからといって、どんなソースコードもテストできる訳ではありません。 テストをし易いようにクラスを設計している必要があります。また、そのように設計していてもUnitテストに入れることの出来ない箇所は出てきます。Unitテストに入れることの出来ない箇所は出来ないと割り切らなければなりません。むしろ、どれだけのコードをUnitテストに入れることが出来るか? というのが設計者の腕の見せどころになるでしょう。 極論を言うと 「どんなクラスでも疎結合に実装していなければならない」 ということで
はじめに 新年になったので、開発環境のDockerをビルドし直したら、xdebugでのステップ実行ができなくなった。 調べてみると、xdebugのVersion3になって設定項目名が変更されてしまったため、以前の設定が無効になってしまったのが原因でした。 TL;DR 以下の設定で動きました。 ちなみにデバッガ(IDE=phpstorm, vscode)の方の待受ポートは9003に合わせる必要があります。 xdebug.log=/tmp/xdebug.log xdebug.mode=develop, debug xdebug.start_with_request=yes xdebug.client_host=host.docker.internal xdebug.client_port=9003 zend_extension=/usr/local/lib/php/extensions/no-
composer install で the requested PHP extension intl is missing from your system と言われる解決方法 in Docker imagePHPComposerDockerdockerfile はじめに 自分が悩んだ順に書いていきます。無駄に長いです。 Dockerfileを扱ったのは今回が初めてです。初心者でも読みやすいと思います。 もっといい方法あるよというコメントお待ちしております。 エラー発生 nojimage/twitter-text-php Twitterが公式で出しているライブラリがPHPに対応していなかったために導入 ローカル環境で下記コマンドを打つ composer require nojimage/twitter-text-php しかし下記のようにエラーが
プロジェクトの環境構築にあたりphp7.1が必要ということで、 Homebrewにてphp7.3と共存環境構築した際のメモ。 いや本当に、ダウングレードって骨が折れる、と思い知ったので (なるべくならアップデートだけをしていけると平和ですよね)、 同じことで心と時間を消耗する方が1人でも減るように記録を残します。 エラー内容が dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib の方向けの記事になります! macOS Catalina php 7.3(デフォルト) zsh php@7.1を入れる Homebrewインストール Homebrewをインストールします。 (Homebrewインストールについてはたくさん記事あるので割愛します) インストールができたら、念の為ドクターコマンドをかけると安心感あ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く