PHP関連のことを調べてみた

PHP関連のことを調べてみた

#07 AWS(APIGateway/Lambda) + Serverless Framework + BrefでサーバレスなLaravel環境を構築してみる②

# はじめに
今回は前回の記事「AWS(APIGateway/Lambda) + Serverless Framework + BrefでサーバレスなLaravel環境を構築してみる①」の続きになります。前回はPHP動作環境を構築してみましたので、今回は記事のタイトルにある通りLaravel動作環境をAWSにデプロイしてみます。

# 1. 前提条件
AWSの各種サービスに対する基本的な知識、AWS CLI設定済み、npm/composerインストール済み、Serverless Frameworkインストール済み

# 2. 動作環境
npm:9.6.1
composer:2.1.14
AWS CLI:2.5.5
Serverless Framework:3.2.81
Bref:1.7
PHP : 8.2.1
Laravel : 10.4.1

# 3. 今回利用するツールに関して
前回利用したBrefとServerless Frameworkに加えて、AWSでLaravelを実行するためにLaravel-Brefを利用します。

### Laravel-Brefとは
Laravel-

元記事を表示

VSCode PHP MySQL Docker環境構築(Mac OS) 記録用

WEBアプリ開発を少しやってみたかったので独学で
持ち得る知識をフル活用してみた。

MacBook Air(M1)にて環境構築〜ログイン機能が完成するまでの作業メモ

![スクリーンショット 2024-07-15 14.29.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838575/1fc4a9aa-a805-7077-8ce2-0d9ca67b8f77.png)

“`php

“`

“`yaml

version: ‘3.8’

services:
php:
image: arm64v8/php:8.2-apache
ports:
– “8888:80”
volumes:
– ./src:/var/www/html
networks:
– app-network
mysql:
image: mysql:5.7
platfor

元記事を表示

Raspbery PIにLaravel11をインストール

# 概要
RPI3Bが余ってましたので、今回最新OSをインストール後、Laravel11をインストールする方法についてメモです。

# 事前に実行するコマンド
下記のコマンドを1つ1つ実行してインストールを行ってください。

~~~bash
sudo wget -qO /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” | sudo tee /etc/apt/sources.list.d/php.list

apt list –upgradable

sudo apt update

sudo apt-get upgrade
~~~

# composerインストール
下記のコマンドからインストールします。

①ダウンロードコマンド
~~~
wget https://getcomposer.org/download/2.7.7/composer.phar
~~~

元記事を表示

【PHP8.4】ついにURLへのセッションID埋め込みが禁止される

いにしえの時代、PHPはセッションハイジャックに致命的に脆弱でした。

かつてのPHPは`http://example.com/?phpsessid=hoge`というURLでアクセスすると`hoge`というセッションIDでセッションが始まるという仕様であり、これは仕様というか[セッション固定攻撃](https://en.wikipedia.org/wiki/Session_fixation)という脆弱性そのものです。

そもそもなんでこんな仕様があったのかというと歴史的経緯というやつです。

PHPが誕生した時代は、そもそもCookieに対応していないブラウザ・端末が普通に存在していた時代でした。
たとえばスマホ以前に存在したガラケーはほとんどがCookieに未対応です。
そんな端末・ブラウザでもログインしたりショッピングカートを使いたい、そんな場合はどうすればいいか。
そこでURLにセッションIDを載せて運用しよう、という発想が生まれました。

この発想は当時はPHP以外の言語でも行われていたのですが、すぐに問題が発覚しました。
URLをコピーすると通常は`https://qiita

元記事を表示

#05 AWS(APIGateway/Lambda) + Serverless Framework + BrefでサーバレスなLaravel環境を構築してみる①

# はじめに
最近、サーバレスにLaravelを運用する環境を目にする機会がありました。
その際に利用されていた技術について備忘録として複数回に分けてこのブログにまとめていこうと思います。
今回は、BrefとServerless Frameworkに焦点をあて、PHP動作環境をAWSにデプロイしてみます。

# 1. 前提条件
AWSの各種サービスに対する基本的な知識、AWS CLI設定済み、npm/composerインストール済み

# 2. 動作環境
npm:9.6.1
composer:2.1.14
AWS CLI:2.5.5
Serverless Framework:3.2.81
Bref:1.7

# 3. 今回利用するツールに関して
### 1. Brefとは
Brefとは、一言で言えばAWS LambdaでPHPを動作させるための各種設定を行うCLIで、OSSとして提供されています。
LambdaのランタイムにはPHPは存在せず、カスタムランタイムとして利用する必要があります。
カスタムランタイムとしてPHPをLambdaで利用するための各種設定などの煩わしい作業を簡単に

元記事を表示

#04 Laravel Overview & Setup (Routing & Middleware basics)

## Introduction

PHP is a kind of old web development language which released in 1995. But it has a variety of frameworks for web development and it is still a popular language in the real world. This time, the most famous PHP full-stack framework will be introduced. Laravel.

So, **what is Laravel?**

> Laravel is a web application framework with expressive, elegant syntax. A web framework provides a structure and starting point for creating your application, allowing you to focus on creating s

元記事を表示

windowsにPHP+Imagickを入れてみた

簡単に画像処理プログラミングを行いたくてImagick付きのPHPをインストールしてみた。

## Imagickのモジュール
Imagickのdllは、PECL DLLs for PHPにあった。以下のファイル
https://windows.php.net/downloads/pecl/releases/imagick/3.7.0/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242268/c63a2bc4-549b-4ead-2cb8-ea1769585514.png)

## Windows版のPHP
ダウンロードしたimagick.dllはビルド=vs16、PHPバージョン=8.1、ts(Thread Safe)、64ビットになるのでそれに合うPHPをダウンロード
https://windows.php.net/download/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

元記事を表示

【実務未経験 歓迎】PHPで「Hello World」してみよう [異世界転生(転職)・なろう]

## はじめに

どうもはじめまして、異世転生者のジツム・ミケイケンと申します。

ある日交差点で車に轢かれてしまった俺はエスイーエス?というよくわからない世界に飛ばされてしまった。
右も左もわからない俺だが、ここでの生活の為にHello Worldくらいは書けるようになっておこうと思う。

## 本記事の成果物 (コピペ用)

短い時間で解決したい方に配慮し、本記事で作成するプログラムの成果物を先に開示しておきます。 (省エネ)

“`php:main.php

元記事を表示

robots.txtを取得しクロール拒否されていないかチェック①

# 概要

robots.txtを取得しクロール拒否されていないかをチェックするプログラムをPHPで作成したいと思います。

今回は、robots.txtを取得する処理を作成します。
次回は、クロール拒否されていないかチェックする処理を作成します。

# 前提
## robots.txtとは

検索エンジンのクローラーなどに、アクセスしていいURLを伝えるファイルです。

クローラーを作成する場合は、robots.txtに準ずる必要があります。

## robots.txtの場所

基本的にURLドメインの`/`直下に置くことになっているので、Qiitaのrobots.txtは、`https://qiita.com/robots.txt`にあります。

中身の説明は次回とさせていただきます。

# コーディング

## 処理内容

プログラムは汎用的に作ろうと思うので、`robots.txt`を直接指定しなくても、どんなURLでもrobots.txtのURLに変換します。

このようなURLが指定された場合に、`robots.txt`のファイルのURLを生成します。
`https

元記事を表示

Laravelでneo4jを使ってみる③モデル

※modelのフォルダを変更しています。

Userモデルに関連したRaceモデルを作ります。

(User) → (Race)

##1)モデルクラス作成
“`
$ php artisan make:model Models/Race
“`

“`app/Models/Race.php
hasOne(

元記事を表示

【Laravel】Illuminateにある主要メソッド Mail編

### 言語
– Laravel8

## Illuminateとは
– Laravelが提供する様々なサービスやコンポーネントを構成するための基盤を提供している。
– サービスやコンポーネントは“Illuminate“名前空間内に整理されている

### どこにあるか?
**“プロジェクトディレクトリ\vendor\laravel\Framework\src\Illuminate\~“**

## Illuminate\Mail
– メール送信機能を提供するクラスがある。

### “to($users)“
– メールの送信先アドレスを設定
“`Laravel
Mail::to(‘example@example.com’)->send(new ExampleMail());
“`

### “cc($users)“
– メールのCC(カーボンコピー)祖往診先アドレスを設定
“`Laravel
Mail::to(‘example@example.com’)->cc(‘cc@example.com’)->send(new

元記事を表示

LaravelでMakefileを使って効率的にコマンドのショートカットを作成する方法

Laravelプロジェクトにおいて、Makefileを使用してよく使うコマンドを効率的に実行するためのショートカットを作成する方法を紹介します。Makefileを使うことでコマンドを簡略化し、開発効率を向上させることができますのでぜひ使ってみてください。

## Makefileとは
作業の自動化などに使われますが、今回はコマンドの簡略化に焦点をあてて解説します。
“`
ターゲット:
コマンド
“`
まずは**ターゲット**と**コマンド**をペアで定義します。
“`
make ターゲット
“`
上記をターミナルなどで実行すると、定義した**コマンド**が自動で走ってくれるという優れものです。

### 例えば・・・
Laravel開発においてよく使うartisanコマンドを例に挙げてみます。
まずはMakefileに以下を記述します。
“`
mig:
php artisan migrate
“`
そしてターミナルなどで
“`
$ make mig
“`
として実行してみると
“`
$ make m-mig
Enter migration name: tes

元記事を表示

【ハンズオン】PHP(Laravel)で旅行の思い出Webアプリを作成する【Laravel/OpenAI/AWS】

# はじめに

webアプリ開発の環境構築からwebアプリの完成まで解説します。

![Animation.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3585159/e52c57d9-852b-bb99-2402-775c2f7993f5.gif)

# 前提条件

– Macでの開発も可能ですが、本ハンズオンではWindowsのPCでの手順を記載しています
– Webアプリを作りきることを目標とするので、細かいプログラミング言語の説明などは省きます
– VSCodeを使用して開発します([インストール方法はこちら](https://www602.math.ryukoku.ac.jp/Prog1/vscode-win.html))

# 1. 環境構築

### 1-1. WSLの開発環境の作成
開発環境の構築に関しては、わかりやすい記事がありますのでそちらに沿って進めます。詳しい方はお好みの開発環境を使用していただいても構いません

以下の記事を参考に開発環境を作成します。
[Laravel

元記事を表示

PHP開発環境をセットアップ

PHP開発環境をセットアップするには、以下の手順に従ってください。

**Webサーバー(例:Apache)のインストール**

1. お使いのオペレーティングシステムに適したApacheのインストールパッケージをダウンロードします。
2. インストールウィザードに従い、ポート番号などの設定を行います。

**PHPのインストール**

1. 公式PHPウェブサイトからシステムに適したPHPバージョンをダウンロードします。
2. PHPを設定し、Webサーバーと連携させます。

**関連ファイルの設定**

1. Apacheの設定ファイル(通常は `httpd.conf`)にPHPサポートを追加します。
2. PHP設定ファイルのパスを指定します。

**PHPのテスト**
1. `info.php` という名前のファイルを作成します。

このファイルをWebサーバーのルートディレクトリ(例:Apacheの `htdocs` フォルダ)に配置します。

ブラウザで `http://localhost/info.php` にアクセスします。PHP関連の情報が正しく表示されれば、環境は正

元記事を表示

音楽聞くためのサーバー構築

– #### まえがき
**これはある程度わかってる人向けです。ご了承ください。**
ちょっとAndroidアプリでSubstreamerっていうAndroidでサーバー建てて音楽聞くことできるらしいんすよ。自分の好きな音楽を自分の好きなようにできるんでこれ入れました。他にも、WindowsとAndroidで同期再生できないかなって思ったり。Windowsの方では臨場感出すために複数のスピーカー使ってます。けど3.5mmジャックをさす箇所がパソコンにもうないのでとりあえずの処置でこのサーバーを導入してます。他にも外で聞くときとかにもデータの節約なるかも?(わかりませんが)

– ## 1-1 Windows用サーバーセットアップ
ほんとはubuntuの方にインストールしようとしていたのですがまえがきにあった通り同期再生をWindowsの方でできるか確かめるためです(~~ほんとはubuntuが起動不能になったから~~)。いやまあ気が向いたらLinux側でもやりたいと思います。ということで本題入ります。まず私が選んだのはAmpacheです。guiとかも高度な機能ありそうだったので。subs

元記事を表示

How a Software Development Company Create and Publish a PHP Package with Composer

Creating and publishing reusable PHP packages is essential for efficient software development. Developers can streamline project development and improve code maintainability by encapsulating specific functionalities into standalone components. This allows a software development company to foster collaboration within teams and the broader PHP community.

This article thoroughly discusses the process of creating and publishing a PHP package using Composer. So, let’s begin!
## Understanding Compose

元記事を表示

【Laravel】Illuminateにある主要メソッド Pagination編

### 言語
– Laravel8

## Illuminateとは
– Laravelが提供する様々なサービスやコンポーネントを構成するための基盤を提供している。
– サービスやコンポーネントは“Illuminate“名前空間内に整理されている

### どこにあるか?
**“プロジェクトディレクトリ\vendor\laravel\Framework\src\Illuminate\~“**

## Illuminate\Pagination
– Laravelのページネーション機能を提供するためのクラスがある。

### “paginate()“
– 指定された項目数で結果をページ分割
“`Laravel
$users = DB::paginate(10);
“`

### “simplePaginate()“
– シンプルな「前へ」「次へ」リンクだけを含む簡易的なページネーション
“`Laravel
$users = DB::simplePaginate(10);
“`

### “links()“

元記事を表示

【Laravel】Illuminateにある主要メソッド Http編

### 言語
– Laravel8

## Illuminateとは
– Laravelが提供する様々なサービスやコンポーネントを構成するための基盤を提供している。
– サービスやコンポーネントは“Illuminate“名前空間内に整理されている

### どこにあるか?
**“プロジェクトディレクトリ\vendor\laravel\Framework\src\Illuminate\~“**

## Illuminate\Http
– リクエストとレスポンスの操作を提供する。

## Illuminate\Http\Request

– “Request“クラスはHttpリクエストに関する情報を管理するためのメソッドを提供。

### “all()“
– 全ての入力データを取得
“`Laravel
$allData = $request->all();
“`

### “input($key = null, $defalt = null)“
– 指定されたキーの入力データを取得
“`Laravel
$nameDat

元記事を表示

【初心者向け】PHPで知っておきたい実装方法3選

# はじめに
こんにちは!
株式会社BTMの畑です。

今回は、これからPHPでプログラミングを始める方や、いざ実務でコードを書いていくぞーという方向けに、知っていると役に立つ実装方法をご紹介します。

#### 軽く自己紹介
私自身、他業種からプログラミング未経験での入社だったので、初めは分からないことばかりでした。
特に、プログラミングの教本や学習サイトでは紹介されない実装方法は、自分で調べて情報にたどり着けないと、そもそも存在にすら気付けませんでした。
実際に実務のソースコードを見たり、先輩エンジニアからレビューやフィードバックを受けて初めて「えっ、そんな実装方法あったんだ!」と知るものも多かったです。

未経験で入社したばかりの自分に宛てて、当時こういうこと知っていたら助かったなー、と思う内容を紹介していきますので、新たなチャレンジを選んだ皆様の一助となれば幸いです。

:::note info
本記事で紹介する実装方法は以下のバージョン以降で対応しています
・PHP 8.0.11
:::

# PHPで知っておきたい実装方法3選
それでは早速見ていきましょう!

##

元記事を表示

LaravelでReCaptchaのテストをスキップする方法

以下の二つを `.env.testing` に追加する。
“`tex:.env
NOCAPTCHA_SITEKEY=6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
NOCAPTCHA_SECRET=6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
“`

“`php:config/no-captcha.php
env(‘NOCAPTCHA_SECRET’, ‘no-captcha-secret’),
‘sitekey’ => env(‘NOCAPTCHA_SITEKEY’, ‘no-captcha-sitekey’),
]
“`

# 参考文献

https://developers.google.com/recaptcha/docs/faq?hl=ja

https://stackoverflow.com/questions/49014874/how-do-i-fake-a-recaptcha-in-a-unit-test

元記事を表示

OTHERカテゴリの最新記事