PHP関連のことを調べてみた2022年03月18日

PHP関連のことを調べてみた2022年03月18日

EC2 を PHP8 ,Laravel9 にバージョンをアップデートしてみた

# はじめに
AWS EC2サーバーのPHPとLaravelを最新バージョンに、アップデートする方法についてまとめました。

# 環境
現環境
– Amazon Linux 2
– PHP 7.2.8
– Laravel 5.7.9
– nginx 1.12.2
– composer 1.10.15 (なくても可)

ゴール
– Amazon Linux 2
– PHP 8.0.16
– Laravel 9.5.1
– nginx 1.20.0
– composer 2.2.7

# PHPバージョンアップ
PHPバージョンは7.2なので、PHP8にバージョンアップします。

“`terminal
$ php -v
PHP 7.2.8
“`
PHPのバージョンを変える場合、PHPのパッケージをすべてアンインストールしてから PHP8を有効化する流れになります。

“`terminal
// パッケージアップデート
$ sudo yum update -y

// PHPのパッケージをすべてアンインストール
$ sudo yum -y remove php-*

// amazon

元記事を表示

DockerでLaravel8環境を作った際にタイムゾーン設定でハマった話

# はじめに
DockerでPHP公式イメージである「PHP:8.0-apache」を利用してLaravel8.4環境を構築した際に、タイムゾーン設定でハマった話。

# 環境
“`
docker -v
“`
Docker version 20.10.12

“`
docker compose version
“`
Docker Compose version v2.1.1

Ubuntu 20.40(WSL2)

上記環境でLaravelインストールまで終わった状態。

# 失敗手順
php.ini
“`
[Date]
date.timezone = “Asia/Tokyo”
[mbstring]
mbstring.internal_encoding = “UTF-8”
mbstring.language = “Japanese”
“`

上記「php.ini」をホスト側(ローカル)に作成。
最低限の設定を記述し、コンテナ側「/usr/local/etc/php/php.ini」にマウント。
この状態でLaravel上で「date(“Y-m-d H:i:s”)」を実行して

元記事を表示

xamppを消す

PHPの勉強にXAMPPを用いてたのですが、MySQLのルートパスワードを設定直後に忘れてしまい、phpMyAdminにアクセスできなくなりました。

同様のエラーを報告されている方もいましたが、私はそもそもの設定したパスワードを忘れてしまったので対応できませんでした。
https://pc-karuma.net/xampp-phpmyadmin-cannot-connect/

## どうしたか
XAMPPを再インストールしようとしました。
ですが、再インストールしても同様の症状が・・・。
アンインストールしても設定がどこかにキャッシュで残っているのでしょうか?

## XAMPPのアンインストールの仕方。

書いてました。
https://www.apachefriends.org/faq_stackman.html

>To uninstall XAMPP-VM, follow these steps:
>Delete the XAMPP-VM icon from the Applications folder.
>Remove all XAMPP-VM data by dele

元記事を表示

【Laravel】Web開発初心者が1週間で入門チュートリアルを実施した記録(4)

以下の続き。

https://qiita.com/yotty19911207/items/5b10aece3c01bc0e1779

フォルダ一覧までは作成できた。
■(1)〜(3)の復習:
・環境構築と設計
・開発のざっくり流れ
①ルーティング設定(web.php)
②コントローラーの作成・記載
③マイグレーションファイルの作成・記載
④マイグレーションの実行
⑤モデルクラスの作成
⑥テストデータの挿入
⑦コントローラーの追記・修正
⑧テンプレートの作成
・ルーティング設定(web.php)の記載方法

Route::get(‘/folders/{id}/tasks’, ‘TaskController@index’)->name(‘tasks.index’);

→getで/folders/{id}/tasksにリクエストがきたら、TaskControllerのindexメソッドを呼び出す。
  これを’tasks.index’と名づける。

・コントローラーの生成コマンド

php artisan make:controller (コントローラーの名前)

・マ

元記事を表示

Twitter Publishを使用せずTwitterの埋め込みを作る方法

# はじめに
この記事は自分のメモ的な感じで残しておきます。内容は余裕で既出だと思われます。
ユーザーにツイッターのリンクを入力してもらって、それを埋め込みにして使う方法を考えていた時のこと・・・

# 埋め込みの作り方
Twitterの埋め込みを作るときTwitter Publishというサイトを利用されると思います。
こちらの投稿を埋め込みするとき以下のようになります。

“`html

Jsでボタンを押して文字を入力する方法

# はじめに
こんにちは!web系エンジニアを目指いしているLionです。
最近Laravelを使ってwebアプリを作っているのですが、ユーザーに文字を打ち込んでもらうのは面倒だし検索にも引っ掛かりにくい感じたのでボタンを押して入力できるものを作成いたしました。

# insertAdjacentHTMlを使った方法
JsのinsertAdjacentHTMl(“位置”, ‘入れたい文字’);
を使うと文字を入力することができいます。

たとえば・・・
“`html
//テキストエリアを作りidを設定!
//今回はinputタグを使ってボタンを作成
“`

“`Javascript
function OnButtonClick() {
target = document.getE

元記事を表示

【Laravel】TCPDF+FPDIでPDFに文字入れを行う

業務で `Laravel` のアプリケーションにおいて、**「既存のPDFファイルを読み込み、文字入れをした上でPDFファイルを出力する」** という実装を行ったので、備忘録としてまとめておきます。

## 使用するライブラリ

– **TCPDF**

PHPでPDFを生成できるライブラリ。
[https://github.com/tecnickcom/tcpdf](https://github.com/tecnickcom/tcpdf)

– ****FPDI****

既存のPDFを読み取り、TCPDFのテンプレートとして使用できるようにするライブラリ。
[Download the FPDI tool from ▷ setasign.com](https://www.setasign.com/products/fpdi/downloads/)

上記の2つのライブラリを使用するので、先にインストールしておきます。
※インストール方法については以下の記事を参照。
[【TCPDF+FPDI】PHPで領収書PDFに文字を出力する方法](https://hsmt-web.com/blog

元記事を表示

【PHP】タグ機能①

プロフィールなどで、スキルや資格等を登録する際のタグ機能を実装しました。
![tag3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597913/2f4e8c6d-4158-360b-9f1e-5c09f74f346e.gif)

# 予測変換のタグ作成
jQuery UIのautocompleteを用いて、予測変換機能を実装します。
こちらのサイトを参考にさせていただきました。

https://ueyama.blog/?p=89

今回はプログラミング言語を中心とした、IT用語をタグとして実装します。

“`php:autocomplete.php
:
$list = array(
‘AWS’,
‘Bootstrap’,
‘C’,
‘CakePHP’,
‘C#’,
‘C++’,
‘COBOL’,
‘CSS’,
‘Docker’,
‘Go’,
‘Git’,
‘HTTP’,
‘iOS’,

元記事を表示

独学エンジニア – hit & blow の数を集計するプログラム

独学エンジニアのクイズにて、hit&blowの集計プログラムを作る課題があったため備忘録も兼ねて記事を記載しました。
※実際の模範解答とは異なります。

[1.前提条件](#前提条件)
[2.要件定義](#要件定義)
[3.設計/コード内容](#設計/コード内容)
[4.実行結果](#実行結果)

# 前提条件
作成/学習にあたりDocker、PHPはVer 8.1.1を使用しております。
著作権の観点から、一部要件内容について改変しております。
実際のクイズではPHPUnitを使用することが要求されていますがQiitaではPHPUnitは考慮せずコードを記載します。

# 要件定義
__輝明と嘉男はHIT&BLOWで遊んでいます。ルールは以下の通りです。__
1. 出題者は重複した数を含まない4桁の数を決める(4442、2233などはNG)
2. 回答者は4桁の数を予想する
3. 出題者は解答者の予想を判定する。数と桁の療法が同じならヒット、数だけが同じで桁が異なればブローと呼ぶ。例えば正解が5678で回答が2687なら「1ヒット、2ブロー」となる
4. 2、3を繰り返し、4桁の数が

元記事を表示

Markdown記法をPukiWiki記法へ変換するスクリプトMD2PKWKをつくった

PHPなのですが、CLIのみで動作するPHPスクリプトとなります。
Webではないので注意を
PHPをインストールし、phpの環境変数を設定しないと動きません。

# ソース&ダウンロード
https://github.com/PTOM76/MD2PKWK

# 使い方
コマンドプロンプト、ターミナル上で`php md2pkwk.php <ファイル名.md>`を実行します。
ファイル名は変換したいマークダウンファイルを指定してください。

# ライセンス
MITライセンスですのでご自由にどうぞ。

元記事を表示

Laravel ミドルウェア

# 概要
ミドルウェアは、HTTPリクエストを**検査およびフィルタリング**する。

例えばユーザ認証を確認して、認証されていない場合であれば
アプリケーションのログイン画面にリダイレクトする。

認証されていればリクエストをアプリケーションへ進めることを許可する。

# 定義
ミドルウェアの作成はartisanコマンドを使用する

“`
php artisan make:middleware Authenticate
“`

すると、`Authenticate`クラスを含むファイルが`app/Http/Middleware`に配置される。

# 記述例

“`php
class Authenticate
{
// リクエスト処理
public function handle($request, Closure $next)
{
// トークンが一致しなければリダイレクト
if ($request->input(‘token’) !== ‘my-secret-token’) {
return red

元記事を表示

【Laravel】Web開発初心者が1週間で入門チュートリアルを実施した記録(1)~(3)

実施したのは、以下。

https://qiita.com/MasahiroHarada/items/eddad4cbf5e567393988

2018年の記事だが、少しの読み替えで問題なく稼働するTodoアプリを作成することができた。
Laravelの概観を掴むことができたので、筆者のMasahiro Haradaさんには感謝しかない。

自身の備忘とこれからLaravelを学んでいきたいというかたの参考になればと思い、ここに記す。

入門Laravelチュートリアル (1) イントロダクション
環境構築について。参考にしつつ、今回は以下の環境で実施した。

■実施環境
OS : macOS Montery (M1)
Laravel : Version 8.83.4
DB : PostgreSQL 14.2
エディタ : VSCode
※仮想環境(HomesteadやValet)は使用せず、ローカルで開発

実施期間 : 2022/03/09 ~ 2022/03/16

入門Laravelチュートリアル (2) ToDoアプリケーションの設計
設計について。熟読。

以下に

元記事を表示

【Laravel】withとwhereHasを同時に実行するscopeを実装

## 対象読者
以下の基本的な知識がある人

– リレーション
– APIリソース
– `with`、`whereHas`メソッド

## 実行環境
– PHP 8.0.15
– Laravel 8.83.1

定番の`User`, `Post`モデルを例に解説していきます。
各モデルのリレーションメソッドは定義済みとします。

## 通常の書き方
1. `id = 1`のユーザー
1. 1. のユーザーの今日以降の投稿

上記データを同時に取得したいとします。

リレーション先のEager Loadingと検索を同時に行いたいときは、
`with`と`whereHas`を組み合わせます。

“`php:
$users = User::with(‘posts’)
->whereHas(‘posts’, function ($q) {
$q->where(‘created_at’, ‘>=’, today());
})->find(1);
“`

## 問題点

うっかり`with`を書き忘れたとしましょう。

“`php:
$users = Use

元記事を表示

WordPressのAdvancedCustomFieldsに「JavaScriptで」デフォルト値を設定する方法

# はじめに

以前、[PHPでWordPressのデフォルト値を設定する方法](https://qiita.com/qwe001/items/2c05a2be5434eb9a092d)を説明しました。
ですが、私の案件は、ページ読み込み時にデフォルト値を設定するのではなく、
特定のカスタムフィールドの値変更をトリガーにして、デフォルト値を設定するというものです。

$\tiny{…いる?}$

そのため、JavaScriptでinput changeイベントを取らなくてはなりません。
でも、ACFのデフォルト値を変更する方法は、PHPでのやり方ならネットにいくらでもありますが、
JavaScriptで書き換える方法が全然載ってないので、備忘録がてら書くことにしました。

# 仕様

* ページ読み込み時は何もしない
* 表示開始日付(open_date)の値が更新された時、表示終了日付(close_date)に一カ月後の値をセットする
* 表示終了日付(close_date)に既に値がある場合、何もしない

# 下準備

まずは、管理画面でだけ使うJavaScriptファイルを用意し

元記事を表示

【Laravel】UUIDカラムをURLに割り当てるとルートに割当されなかったので

# 概要

主キーを`UUID`にする必要があったので以下の記事を参考に導入した。

ルートモデルバインディングで`UUID`を割り当てると`404`エラーでルートに到達できない事象があったので解決方法をまとめる

“`php:web.php
group(function () {
Route::get(‘/edit/{uuid?}’, [PostController::class, ‘edit’])->name(‘admin.posts.edit’);
});
“`

https://qiita.com/ucan-lab/items/a8374ba421fe7828dcb9

# 環境
– PHP 7.4.25
– Laravel Framework 6.20.44
– laravel-eloquent-uuid v6.*

# 導入手順

https://github.com/goldspecdigital/laravel-eloquent-uuid

“`bash
composer require gold

元記事を表示

Ruby、PHP、Python、JavaScriptの特徴とコードを比較してみた(言語選定と言語チェンジのための参考資料)

# この記事の概要
代表的なプログラミング言語“`Ruby、PHP、Python“`といったWeb開発などで使われる
人気のバックエンドの言語をそれぞれ比較した記事です。

後フロントエンド言語の“`JavaScript“`も比較していきます。

初学者でどの言語をやればいいのかわからない時、
言語を変える時の参考になると幸いです。

# Webの仕組み
クライアントとサーバーの関係とリクエストとレスポンスの関係がわかれば
今回は大丈夫です。

https://qiita.com/Hashimoto-Noriaki/items/c5c9eb26565b01150556

***サーバー側で処理をするのがRuby、PHP、Python***で
***クライアントのようなブラウザを操作するのがJavaScript***です。

## Ruby
Rubyは初学者向きのプログラミング言語で、
プログラミングスクールでよく使われる言語です。
***Webアプリケーションの開発で使用されるサーバーサイド言語***です。

フレームワークの代表的なのが***Rubyon rails***で

元記事を表示

よくわかるPHPの教科書 たにぐちまこと

PHPは、研修助手をしたことがある。

実用的なプログラムは1mmも書いたことがない。

学生、研修生のPHPのレビューをしたことがある。

1mmも意見を言っていない。

みんなの意見に「そうだね」って乗っかるだけ。

<この項は書きかけです。順次追記します。>

よくわかるPHPの教科書

https://bookmeter.com/books/12784536

この本の何がいいかって、文法からはじめていないとこ。

最初に覚えるプログラミング言語は何がいいですか?

https://qiita.com/kaizen_nagoya/items/590704e76e287707637b

PHPから動かした人に、どういう助言をするといいか見渡そう。

# 参考資料

「DockerでPHP7.0×Apacheの環境を構築する@kurkuru」IT業界新人利用時の16の壁(mac mini編)docker(80)

https://qiita.com/kaizen_nagoya/items/315e8d05a6eef00b56d1

<この記事は個人の過去の経験に基づ

元記事を表示

CodeIgniter CRUDサンプルコード及び認証

# 1.始めに
 受注した案件でCodeIgniterを使うことになりましたので勉強と備忘録を兼ねて記事を残すことにします。CodeIgniterはPHPフレームワークの一つです。詳しく知りたい方はググってください。ここではチュートリアルのコードを拡張してCRUDのサンプルコード書きましたので入門者の参考になればと思います。なお、composer又は公式サイトからファイルをダウンロードする形のいずれかのやり方でプロジェクトを作成済みとして話を進めます。

動作環境:
Windows11
xampp
CodeIgniter4

# 2.CRUD
 Webフレームワークを扱う方にとってはCRUDって身近な用語だと思います。Create, Read, Update, Deleteの略で、この基本形と認証周りさえ扱えればアプリのバックエンドの構築には困りません。
 早速CRUDのコードの方から書いていきます。DB設計とかはCodeIgniterのチュートリアルに合わせてますのでチュートリアルがまだの方は後述のサイトからチュートリアルをやってみてください。

“`php:アプリ名\app\Mo

元記事を表示

smartyの値を確認する方法(var_dumpが使える)

– smartyの中身を確認するコマンド。
– PHPでvar_dumpを使うことがあると思うが、smartyでもvar_dumpを使うことができる。

## 使い方
“`smarty:var_dunp
{{$hoge|@var_dump}}
“`
$hogeの値を確認することができる。
( {} が1個か2個は自分が使用している方で書く。)

元記事を表示

OTHERカテゴリの最新記事