- 0.0.1. CPI / ACE01 に入れた Laravel を 5.5 から 6.0 にバージョンアップした話
- 0.0.2. 【PHP】sessionを完全に理解した(仮)
- 0.0.3. reCAPTCHA Enterpriseの導入(PHPが古い人向け)
- 0.0.4. Laravel 環境にによる分岐処理
- 0.0.5. 【PHP】多次元配列の次元数に上限があるのか気になって試した結果
- 0.0.6. 【Laravel】美しいへルパ関数の作り方
- 0.0.7. Laravel artisanでよく使うコマンド
- 0.0.8. LINEログインをPHPで実装する
- 0.0.9. LaravelでEnumを使ってblade上のマジックナンバーを書き換える。(bensampo/laravel-enum)
- 0.0.10. 【PHP】タグ機能③
- 0.0.11. 【PHP8.2】false疑似型およびnull型が単独で使えるようになる
- 0.0.12. 【Laravel】APIのcontroller作成時に使える–apiオプション
- 0.0.13. CakePHP4 で悩んだことメモ
- 0.0.14. 【Laravel】model作成時のオプション
- 0.0.15. 【Laravel】Web開発初心者が1週間で入門チュートリアルを実施した記録(9)
- 1. 入門Laravelチュートリアル (9) ToDoアプリの認証機能を作る パート2
CPI / ACE01 に入れた Laravel を 5.5 から 6.0 にバージョンアップした話
# サーバーのバージョンを php7.0 から php7.4 に上げよ
対象のサイトは laravel5.5 で作られているもので、自分的Laravel案件の初期の頃のものです。申し訳ないですがもう中身なんて覚えていません。
CPIでは、PHPのバージョンを .htaccess で変更できます。ディレクトリごとに設定することも可能なようです。CPIすごいねえ。。とりあえずとにかく、まずはテスト環境で PHP7.4に変更してみましたが、動きません!
PHP7.4 では Laravel6.0 以上でないと動かないのです。というわけで
# Laravel のバージョンを 5.5 から 6.0 に上げよ大丈夫!
素直に作ってたら問題はあまりありません。ただし、CPIのACE01(今回は ae***〜 サーバー)では OpenSSL がサポートされていないため、SSHでは行えません。
弊社では最近は Dockerで開発することが多いので、今回もDocker開発環境で行いました。ここから手順を①〜⑤の5つに分けて書いていきます。
## ① Docker
– ベースイメージ
【PHP】sessionを完全に理解した(仮)
## sessionを完全に理解した(仮)
これまでsessionを理解せずにRubyやら進めてきたが、
今回理解することに成功した。はず。sessionを使うと何ができるのか。
またどのような際に使うと役立つのか備忘録として書いていきたい。## sessionとは?
SESSIONとは、サーバ側で保有する、一時的なデータ保存の仕組みのこと。ログイン情報など、ユーザーと紐づく情報をサーバー側に一定期間保存しておくことができる。
サーバ側にデータを保存するため、Cookieよりもセキュリティ面で優れている。SESSIONが使われる例として一番代表的なのはログイン機能。
ユーザIDやパスワード情報をサーバ側にSESSIONとして保存しておくことで、
複数ページにわたるwebサービスでも同じ値を使い回すことができる。## sessionが必要な理由
HTTPプロトコルでは、通常、情報の保持ができないため
sessionを用いて、一時的に情報を保持する必要があるとされている。SESSIONとしてデータがサーバに存在していれば、
サーバ上のSESSIONデータから情報を
reCAPTCHA Enterpriseの導入(PHPが古い人向け)
# 対象者
顧客や上司からgoogle reCAPTCHA を導入したいと言われたが
その顧客のサイトはPHPのバージョンが古くて
「reCAPTCHA Enterprise クライアント ライブラリ」なるものを導入できず
レンタルサーバーでSSHも使えず途方にくれている方。# 前提条件
・Google Cloud Platform のアカウントを持っている
・プロジェクト作成済み
まぁ検索すればそれぐらいは出来るはず。# 必要な情報
下記3点のみ Google Cloud Platform より取得してください。
- API キー
- そのプロジェクトに関連付けられたAPIキー
- reCAPTCHA Enterpriseキー
- 取得方法は検索すれば詳しく説明されたのが出てくる
注意点は「チェックボックスによる本人確認を使用する」にすること。
これを選択しない場合は自動的に危険なアクセスかどうかを判別する方法になってしまうので
「私はロボットではありません」が表示されなくなります
Laravel 環境にによる分岐処理
# 概要
– Laravelにて.envのAPP_ENVの値いよって処理を分岐させたい時の条件部分を簡単にまとめる
# 紹介
### ローカル開発環境かどうかの判定
“`php
if (app()->isLocal()) {
// ローカル開発環境でのみ実行したい処理
}
“`### 本番環境かどうかの判定
“`php
if (app()->isProduction()) {
// 本番環境でのみ実行したい処理
}
“`
【PHP】多次元配列の次元数に上限があるのか気になって試した結果
先日、実務で五次元配列をごにょごにょしているコードに遭遇しました。
普段は三次元配列まででほぼ事足りるので印象に残るコードだったのですが、
ふと、PHPの配列の次元数はどこまでいけるのか気になってしまい調べてみることに。
マニュアルを漁ってもそれっぽい記載を見つけることはできませんでしたが、素敵なブログを発見。> [PHPの制限一覧](https://blog.ohgaki.net/php-limits)
>
> 配列型の要素数は内部で利用するハッシュのデータ構造定義に依存しています。
> – PHP 7.0未満は2^32個まで (uint32_tが利用されているが、実際には最大数に達する前に問題が発生すると考えられる)
> – PHP 7.0以上の場合、
> – size_tが32bitの場合は、0x04000000個まで
> – size_tが64bitの場合は、0x80000000個まで(通常は2^31個まで利用できる、と考えて良い)実際は要素数の上限に達する以前にメモリが枯渇しますが上限は存在してそうです。
てことは、次元数についても同様にハッシュのデータ構造定
【Laravel】美しいへルパ関数の作り方
## この記事に書いてあること
Laravelアプリケーションでヘルパー関数を作成する方法について書いています。## なぜ書いたか?
自作のへルパ関数を追加したいと思って、やり方を調べたら以下のようにcomposer.jsonファイルにヘルパー関数を追加する方法が多く紹介されていました。“`json:composer.json
“autoload”: {
“files”: [
“app/helpers.php”
],
}
“`たしかにこの方法でも追加はできるのですが、へルパ関数を何個も実装したい時にいちいちjsonファイルを追記する可能性が出てきたり、`composer dump-autoload`をする必要が出てきたりと面倒くさいなぁと思いました。
あと単純になんか綺麗じゃないなと。
そこで以下の記事を参考にさせていただき、サービスプロバイダとしてへルパ関数を実装することにしました。
https://levelup.gitconnected.com/create-your-own-helper-function-in-larave
Laravel artisanでよく使うコマンド
Laravel artisanでよく使うコマンドについて記載。
“`
#controller作成
php artisan make:controller Controller#Model作成
php artisan make:model User#Modelの生成先を指定したい場合
php artisan make:model Models`\\`User#migrationファイルの作成
php artisan make:migration#migrationを戻す(–stepに指定数分巻き戻される。現在の状況はmigrationテーブルを参照)
php artisan migrate:rollback –step=1#認証機能を作成したい場合
php artisan make:auth#artisanコマンド作成
php artisan make:command#イベントククラス作成
php artisan make:event#listenerクラス作成
php artisan make:listener
LINEログインをPHPで実装する
LINE for Businessのアカウントでお客さんとやり取りした後に、フォーム入力をお願いすることになりました。フォームにメアドやLINEのニックネームを入力をお願いするのもリダンダントなので、LINEログインでメアドやニックネームを取得してフォームに自動入力させてみます。
手順は以下の通り(こちらを見ながらやるとよいと思います)
1. LINE developersコンソールでLINEログインのチャネルを作成
1. 同コンソールにてコールバックURL設定
1. コード書く用意するコードはログイン開始ページlogin.phpと、コールバックページcallback.phpの2つです。
“`login.php
$callback_url = “https://example.com/callback.php”; //LINE developersコンソールに設定したURL
$state=rand();$ur
LaravelでEnumを使ってblade上のマジックナンバーを書き換える。(bensampo/laravel-enum)
どうも、たかふみです
個人で開発中のアプリケーションでEnumを使ってみました。
Enumは業務で携わったプロジェクトでも使っていたので、さらに理解を深めるために個人的にも使ってみようと思ったのがきっかけです。Ben Sampsonさんの`BenSampo/laravel-enum`で実装を行いました。
### 開発環境
“`version.sh
root@ade420a5446f:/work/backend# php artisan –version
Laravel Framework 9.3.1root@ade420a5446f:/work/backend# php –version
PHP 8.1.1 (cli) (built: Dec 18 2021 00:38:05) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
“`## Enumとは
列挙型と呼ばれるデータ型の一つ。
複数の定数を一つのクラスとしてまとめることができる。
【PHP】タグ機能③
下記投稿の続きで、タグ機能に登録機能(DB接続)を実装します。
https://qiita.com/ryouya3948/items/da1a53e32edbd16637a5
https://qiita.com/ryouya3948/items/f8a574bb900ba4fefecb
![tag12.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597913/ea980f92-96fb-9c34-5e62-c219dc200393.gif)
# DBにタグ情報保存
“`html:form.php
【Laravel】APIのcontroller作成時に使える–apiオプション
## 環境
Laravel v9.5.1 (PHP v8.1.3)## –apiオプション
下記のコマンドで、“`create“`や“`edit“`メソッドを含まないAPIリソースコントローラを素早く生成できる。“`
php artisan make:controller Api/PostController –api
“`“`php
CakePHP4 で悩んだことメモ
## 開発環境
PHP 8.0.16RC1
Apache/2.4.52 (Debian)
CakePHP 4.3.6## 方針
* URLによってDBを切り替える(マルチテナント的な)
* CakePHPではSQLを発行するのにいくつかの方法があるが、Entityでデータを扱う
* セッションのラッパークラス的なものを作りたい
* フォームバリデーションのメッセージを変更したい## マルチテナント
マルチテナントというものにはあまり理解はないが、ここでは「URLによってDBを切り替える」を目標とする。
【URL例(ドメイン略)】
① /company1/controller/action ⇒ testdb1に接続する
② /company2/controller/action ⇒ testdb2に接続するルートの設定
“`php:config/routes.php
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;return static function (RouteBui
【Laravel】model作成時のオプション
## 環境
Laravel v9.5.1 (PHP v8.1.3)## オプション指定の仕方
model作成の際にオプション指定で、同時に様々なファイルを生成できる。
下記は、migrationファイル・factory・controller(resourceにもとづくメソッドを生やしておいてくれる)を同時に作成してくれる。
“`
php artisan make:model Post -m -c -f –resource
“`オプションの種類はこちら。
“`
Options:
-a, –all Generate a migration, seeder, factory, policy, and resource controller for the model
-c, –controller Create a new controller for the model
-f, –factory Create a new factory for the model
–force
【Laravel】Web開発初心者が1週間で入門チュートリアルを実施した記録(9)
以下の続き。
https://qiita.com/yotty19911207/items/19816d1ccde0acf0baa1
前回、認証機能のうち、会員登録、ログイン機能をつくった。
・会員登録機能:済
・ログイン機能:済
・ログインしたユーザーは自分のフォルダのタスクだけを閲覧できる機能入門Laravelチュートリアル (9) ToDoアプリの認証機能を作る パート2
ここでは、残りの3つ目を実装していく。
・ヘッダーの出し分け
layout.blade.php
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた