php

【Docker】【Laravel】docker-compose 立ち上げ時にLaravelの初期構築コマンドを実行する

久しぶりに新しく一から作るWebアプリケーションを作る事になり、数年ぶりに色々情報をアップデートしました。 さて、 アプリケーションの開発環境を作る場合、なるべく初期構築手順を簡略化したいものです。 今回はDocker で環境を立ち上げた際に、Laravel…

【Laravel】昔作った5系のプロジェクトがマイグレート出来ない

2021年5月現在バージョンは8系ですので、新しくLaravelのプロジェクトを作る人にとっては意味がない情報かもしれません。 Installation - Laravel - The PHP Framework For Web Artisans 5系で動いているLaravelプロジェクトの環境構築する機会がありました…

【Laravel-DomPDF】ファイル名を日本語にした状態でダウンロードする

LaravelでPDF生成をするためのライブラリに、Laravel-DomPDF というものがあります。 github.com Laravel用に改修されたDomPDFのラッパーで、簡単に導入する事ができるライブラリです。 しかし、海外環境用のライブラリですので、マルチバイトを使う場合に一…

【PHP】純粋なクラス名のみ文字列で取得する

php

PHPで開発していると、クラス名を直接指定したい機会があります。 例えばLaravelであれば、ルートを設定する時に(クラス名)@(関数名) と指定します。 さて、 今回はクラス名を取得する方法についてご紹介します。 目次 目次 get_classの落とし穴 ネームスペ…

【PHP】セッションを跨いでオブジェクトを使う

php

phpでプログラムを書いていると、セッション間でデータを扱う機会はよくあります。 セッションの使い方で良くあるのは、文字列や数字を代入する方法です。 では、それ以外の情報は受け渡せないのでしょうか? さて、 今回はセッションにオブジェクトを渡す方…

【Laravel-DomPDF】独自のheaderを追加する

小ネタです。 Laravel-DomPDFで、独自のheaderを追加したい場合の対処法です。 通常のダウンロード処理 公式ドキュメントは下記です。 github.com 従来の方法 例えば、ファイルをブラウザで表示せずダウンロードする場合、下記のheader を指定します。 Conte…

【heteml】Composerを使えるようにする

hetemlのサーバーにアプリケーションを実装する機会がありました。 hetemlはssh接続も可能で、様々なミドルウェアを実行できます。 そのため、Composerのようなパッケージ管理システムを導入する事も可能です。 getcomposer.org さて、 今回はhetemlサーバー…

【Dompdf】テキストに日本語を使用する

Webシステムで帳票を生成する機会というのはよくあります。 PDFを作成するライブラリは色々ありますが、手軽にHTMLライクで作れるライブラリとなるとDompdfがあります。 github.com しかし、デフォルトでは日本語に対応していません。 日本語を含むフォント…

【Laravel-Admin】カスタムフィールドを作る

Laravel-Adminを使った管理画面を運用しているのですが、用意されている既存フィールドでは要件に合わない時があります。 laravel-admin.org 例えば、年月日の月を管理したい場合です。 もちろん、月を管理するためのフィールドは初めから用意されています。…

【PHP】継承元の静的変数(static)を、継承先の変数で上書きする

php

Laravelで開発をしていると、静的変数でクラスのパラメータを設定する場面がよくあります。 継承元に共通関数をまとめられるので、ソースの見通しがよくなります。 今回は、静的変数を継承先から取得する方法について記載します。 継承元の変数を上書きする…

【Vue】コンポーネントのプロパティの初期値にバックエンドから値を代入する

Vueとバックエンドで共通の値を使いたい時があります。 シングルページアプリケーションの様にフロントとAPIで構成する場合は、APIでサーバーサイドとやり取りをすると言う方法が考えつきます。 しかし、設定値のためだけにAPIを使うと言うのは実装するのも…

【Wordpress】アドレスを誤って設定してしまった時の復帰方法

久しぶりにWordpressを触ると何気ない所でミスをしてしまうものです。 例えば、稼働中の確認環境を再現するために開発環境を構築する時です。 再現するために、確認環境からDBをダンプしてインポートします。 しかし、そのままインポートしてしまうとサイト…

【Amazon SES】ファイル添付をしたい場合の注意と対処法

SESはを用いたメール配信サービスを実装していると、ファイルの添付もしたいと言う要望があります。 例えば、マンスリーレポートの配信です。 レポートのサイズが1MB程度のファイルなら添付しても問題ありません。 しかし、20MBを超えるようなリテラシー的に…

【Mac】2020年春版、MacBook(Catalina)を購入して最初にやると良い事

最近、5年程使用していたMacBookを買い替えました。 support.apple.com 早速触ってみましたが、便利になりましたし処理も軽くなりました。 購入するだけの価値はあります。 本格的に新しいMacを仕事で使うにあたり、今まで使っていたMacの環境を移行する必…

【PHP】冗長化されたサーバーでどちらのサーバーのアプリケーションが実行されているか確認する

php

小ネタですが。 冗長化されたサーバーだと今アクセスしているサーバーがどちらか知りたいときがあります。 その場合、SERVER_ADDRで現在のスクリプトが実行されているサーバーの IP アドレスを表示する事ができます。 $_SERVER['SERVER_ADDR'] https://www.p…

【PHP】【Laravel】静的関数で自分のグローバル変数(関数)を取得する方法

小ネタです。 アプリケーションを作成していると、静的関数(static function)からグローバル変数を使いたい時があります。 今回は、Laravelで自身のテーブル名を取得する方法を使って説明します。 動的関数の場合 通常の関数であれば$this->(変数名)で取得…

【php】DateTimeとstrtotimeを使って特定の時間だったら日時を戻す方法

php

一日のリセット時間が夜の毎日0時であれば特に問題ないのですが、特定の時間にリセットする場合比較方法が少し複雑になります。 例えば、毎日3時にリセットされる場合、次のような方法で比較する事ができます。 format('Y-m-d') . ' ' . $resetTime); // 現…

【pug】【Laravel】laravel-mix-pugのタグ属性にPHPの処理を入れる

テンプレートエンジンにpug(jade)を使う場合、テンプレートのタグ属性にPHPの処理を入れるのにコツがいります。 環境 pugテンプレートのコンパイルはwebpackに任せます。 Laravelのプロジェクトを作るとデフォルトでlaravel-mix.jsと言うwebpackの設定ファイ…

【Composer】【Laravel】Laravelのプロジェクトディレクトリ内に独自クラスファイルを追加する方法

Laravelの機能やPHPの組み合わせれば大概の機能は実装できますし、Laravel側で仕様が決まっているので綺麗にかけます。 しかし、時には再現できない機能を実現するために自分でクラスを書いて追加したい時があります。 Laravelの場合、php artisanで関連する…

【wordpress】【php】WordPress配下外のスクリプトファイルから、WordPressのデータを取得する

WordPress主体のサイトで、WordPressにはない機能を追加したい場合があります。 おそらくですが… 固定ページやテーマのfunction.php等を駆使すれば、大概のアプリケーションは作成できます。 しかし、組み込む事で難易度が上がったり、保守性が落ちる事が考…

【salesforce】【PHP】OAuth認証とデータ取得の方法をまとめてみた

最近、salesforceからデータを取得する機会がありました。 developer.salesforce.com salesforceのAPIの仲介をするライブラリがあるか探してみたのですが、あまり情報がありませんでした。 ありました。 toolkitと呼ばれるライブラリ集が公開されています。 …

【mac】【php】composerをグローバルにインストールする

最近、PCが破損してしまい色々環境設定をし直しています。 備忘録として記載します。 Laravelのインストールの手順に載っている、laravelコマンドを実行する時にも使います。 インストール 5.5 Laravel 今回は、composer経由でインストールしたlaravelを実行…

【Docker】phpコンテナの暗号化を有効にする

Dockerでlamp環境を構築しようとする場合、個人の方が公開されている情報が多くとても助かります。 案件によっては、phpで暗号化、複合化が必要になるケースも出てきます。 実現する方法を探していると、Dockerfileに下記と追加すればmcryptが使えるという情…

【PHP】静的なconfigファイルの書き方

php

固有な情報を扱う場合、変数(あるいは定数)にしてページの上部に書いて目立つようにするという事をよくやります。 しかし、ファイル間共有する時にこの要領でそれぞれのファイルに追記してしまう方法はお勧めできません。 修正し忘れのファイルがあって事…

【pug】pugの変数(var)にPHPタグを使う方法

pugでは、テンプレート内で変数を指定できます。 Interpolation – Pug ページ毎に変わる要素(title,keyword等)を作る時は、変数に変わる要素を入れて切り替えると言う事をすると思います。 その際、phpをはじめとしたサーバーサイドの値も反映できるように…

【pug】javascriptを直接書く方法

htmlテンプレートにpugを選んだ場合、素のscriptを書こうとすると迷います。 今回は、pugでjavascriptを書く方法について記載します。 また、本記事で記述するコードは、以前投稿したコードです。 blog.websandbag.com 期待される出力結果 下記のように記述…

【javascript】【php】原始的な方法でフロントエンドとバックエンドのデータ連携について考える

PHPとjavascriptを扱う案件の場合、フロントエンドとバックエンドの連携が必要になる事があります。 「バックエンドの結果によって表示を出し分ける」程度であれば大した問題ではありません。 <p>有効</p> <p>無効</p> しかし、フロントエンドで、バックエンドの値をに…

【Laravel】特定の期間だけ終日メンテナンスモードにする

8月に入りいよいよ暑さのピークも迎えてきました。 それと同時に、そろそろ夏休みに入り始める時期でしょうか? それに付随して、システムもお休みにする事があるかもしれません。 さて、 今回は、特定の期間だけサイトの表示を切り替える方法を記載します…

【Laravel】Storage機能で保存したCSVをExcelで文字化けさせない方法

Webアプリケーションの案件には、結果をCSVで出力したいと言う要望はよくあります。 その要望につきまとうのが、Excelでみたときに文字化けする問題です。 さて、 今回は、この問題の解決方法について触れます。 また、ファイルの出力はLaravelのStorage機能…

Webの世界に入ってから、ボロボロになるまで読んだ本を思い返す

私自身Web業界に入って、6年目になりますが、その間に様々な参考書を読みました。 読んだ本の中には思い出深い本もたくさんあります。 今回はその思い出に浸りつつ、参考書を買うときに自分が気をつけているポイントをご紹介します。 この記事で得られる事 …

©︎2017-2018 WebSandBag