- 1. 【Laravel】Collectionのrejectメソッド
- 2. PHP Laravel 6 画像のアップロード
- 3. php復習、オブジェクト指向編(個人学習備忘録)
- 4. PHPのTCPDF + FPDIでPDFを出力してみた話
- 5. PHPUnit assertEquals アサーションについて
- 6. PHP連想配列のキーとバリューを組み替える方法
- 7. LaravelのFactoryで連続した日付データの挿入
- 8. PHP Laravel 6 おすすめ映画投稿サイト作成過程 9:リレーション編
- 9. Laravelとは+導入方法
- 10. 巨大な桁の足し算
- 11. 【ポエム】Laravelのバリデーションルールの指定方法について考える
- 12. PHPUnit assertStringContainsString アサーションについて
- 13. [Laravel] 特定のマイグレーションだけをマイグレート、ロールバックしたい!!!
- 14. PHPUnitで始めるユニットテスト
- 15. アリババクラウドECSへのWP-CLIのインストールと正しい権限とユーザーロールの準備
- 16. [Laravel8]ログイン機能付きでプロジェクトを作成するまで
- 17. PHP Laravel 6 おすすめ映画投稿サイト作成過程 8:ジャンルタグ追加編(後編)
- 18. PHP Laravel 6 おすすめ映画投稿サイト作成過程 8:ジャンルタグ追加編(前編)
- 19. PHP Laravel 6 おすすめ映画投稿サイト作成過程 7:ルートの制限編
- 20. Laravel/ui のインストール
【Laravel】Collectionのrejectメソッド
##はじめに
今回もLaravelのCollectionのメソッドについてまとめたいと思います。##rejectメソッドで条件に合わないものを除外してデータ取得する
Collectionの中から条件に合わないものを除外してデータ取得することができます。
“`php:
$collection = collect([
[‘id’ => 1, ‘name’ => ‘山田’, ‘age’ => 18],
[‘id’ => 2, ‘name’ => ‘佐藤’, ‘age’ => 38],
[‘id’ => 3, ‘name’ => ‘小林’, ‘age’ => 25],
[‘id’ => 4, ‘name’ => ‘鈴木’, ‘age’ => 34],
[‘id’ => 5, ‘name’ => ‘田中’, ‘age’ => 29],
]);$filtered = $collection->reject(function($values, $key){
return ($values[‘age’] < 30); }); print
PHP Laravel 6 画像のアップロード
#フォームの作成
##フォームタグの記述
formタグに “`enctype=’multipart/form-data’“` を記述しないとエラーを吐きます。
これを記述することで複数類(jpeg、png等)のデータ形式を扱う事でできるようになります。(jpeg、png等)“`create.blade.php
“`
##コントローラーの設定
imgがない場合に“`$path = $request->file(‘img’)->store(‘public/img’);“`でエラーを吐くためif文で分岐させました。“`recommendMovies/app/Http/Controllers/RecommendMovieController.php
public function store(Request $request)
{
if
php復習、オブジェクト指向編(個人学習備忘録)
##はじめに
筆者はずぶずぶの素人です。少しlaravelが書けるレベルです。
書けているけど僕自身がフレームワークに使われています。
laravelを使っていく打ちにもっとlaravelを理解したいと思いました。
フレームワークの本質を理解するにはphpを基礎力を向上させるほかないと考えphpの復習+脱初心者を目指します。
###class
オブジェクト指向の構成要素の1つ。classはオブジェクトの設計書のようなもの
userの名前をコンストラクトし、user名を出力する簡単なクラスを作成“`
class Animal {
p $name;//$user_nameの初期化
function __construct($name) {
$this->name = $name;
}
//getterの役割
public function getName() {
return $this->name;
}
}
$nnimal = new Animal(‘dog’);
echo $us
PHPのTCPDF + FPDIでPDFを出力してみた話
# はじめに
タイトルの通りですが
**TCPDF**と**FPDI**のライブラリを使用して、PDFを出力してみました。
今回はコマンドラインから実行してみます。# 本編
## 環境構築
お好みでPHP、Composerが使用できる環境を用意してください。### Docker
今回私が使用したDocker環境は以下です(一部割愛)。“`yml:./docker-compose.yml
version: ‘3’
services:
php:
build: ./php
volumes:
– ./work:/home/work
“`
“`dockerfile:./php/dockerfile
FROM php:7.3-fpm
COPY php.ini /usr/local/etc/php/# Composer
RUN php -r “copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);” \
&& php -r “if (hash_file(‘sha384’, ‘c
PHPUnit assertEquals アサーションについて
# 目的
– PHPUnitのアサーションの1つであるassertEqualsについてかんたんにまとめる
# すみません
– 本記事は筆者の備忘録的要素が強いためメモ的な簡易的な記事となる。
– 内容が薄い場合は参考文献先などを参考に各自て補填していただければ幸いである。# assertEquals
– 検査対象の中に指定された文字列が含まれているかをチェックするアサーションである。
– 具体例を下記に記載する。“`php
assertEquals(‘A’, ‘B’);
“`
– 上記のようにテストコードが記載された場合、指定された文字列がAで検査対象がBとなる。
– 先の説明でAが指定文字列、Bが検査対象としたがAとBが一致しているかを検査するアサーションなので実際には順不同である。
– もう少し具体的な例を下記に記載する。
– `$str`には「hello」の文字列が格納されている。“`php
$str = ‘hello’;
“`
– `$str`に「hello」とい
PHP連想配列のキーとバリューを組み替える方法
DBから取ってきたデータをビューに渡す時に、中の要素でキーとバリューの組み合わせを作って新しい連想配列を作りたい場面があったのですが、色々調べてもどれもしっくりこなかったので、本記事を書いてみました。
例えば、下記のような都道府県と市区町村がセットになっているデータがあったとして、
“`
$area_list = [
[‘prefecture’ => ‘東京都’, ‘city’ => ‘新宿’],
[‘prefecture’ => ‘東京都’, ‘city’ => ‘渋谷’],
[‘prefecture’ => ‘東京都’, ‘city’ => ‘原宿’],
[‘prefecture’ => ‘大阪府’, ‘city’ => ‘難波’],
[‘prefecture’ => ‘大阪府’, ‘city’ => ‘梅田’],
[‘prefecture’ => ‘大阪府’, ‘city’ => ‘京橋’],
[‘prefecture’ => ‘愛知県’, ‘city’ =>
LaravelのFactoryで連続した日付データの挿入
####Laravelのseederやらfactoryについて勉強中、連続した日付データの挿入に苦戦したので備忘録
schedule_table
|id|title|schedule_day|
|———–:|————:|————:|
|1|aaa|2020-09-27|
|2|bbb|2020-09-28|
|3|ccc|2020-09-29|
|4|ddd|2020-09-30|
|5|eee|2020-10-01|↑こんな感じで日付が連続したテストデータが欲しかった
実行するシーダーファイルを記述
“`php:DatabaseSeeder.php
class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call([
UserSeeder::class,
ScheduleSeeder::class
PHP Laravel 6 おすすめ映画投稿サイト作成過程 9:リレーション編
#リレーションの定義
##リレーション3パターン
###1対1
一つのモデルが一つのモデルと関係を持つタイプです。###1対多
一つのモデルが多くのモデルを持つタイプです。###多対多
三つ以上のモデルが存在し、それぞれが関係を持つタイプです。##多対多で、タグをボタン選択式にして実装
今回のタグ付けには、多対多を使用します。
まず、recommendsテーブルとtagsテーブルを関連付けるためのrecommend_tagテーブルを作成します。“`
$ php artisan make:migration create_recommend_tag_table
“`次に、作成した create_recommend_tag_table を以下の内容に編集します。
“`recommend/database/migrations/2020_09_26_103413_create_recommend_tag_table.php
public function up()
{
Schema::create(‘recommend_tag
Laravelとは+導入方法
今回はphpのフレームワークの中で最もポピュラーであるLaravelという物を紹介していきたいと思います。
#フレームワークとは
そもそもフレームワークとはなんだろうと思われる方もいらっしゃると思いますので、まずフレームワークの説明をしていきたいと思います。フレームワークとは概念的な意味で言うと「枠組み」と言う意味合いをもっています。あるいは、システム開発を楽に行えるようになるプログラムや雛形のことを意味します。このフレームワークを使う事により、開発時間の短縮化、複数人で開発を行う際にコードの統一化を図ることができ、効率的に開発を進めていく事ができます。
下記はphpのフレームワークと簡単な特徴を紹介します。###1.Laravel
世界で人気のフレームワーク
2020年現在、国内において主流のPHPフレームワークであり日本語のドキュメントも充実しています。
###2.Cakephp
日本では最も利用されてきたPHPフレームワーク
R
巨大な桁の足し算
### 1.問題
2つの巨大な桁数(ただし2つの数字の桁数は同じ)の足し算を実行する処理を考える。### 2.4桁同士の足し算例
巨大な桁数というテーマだったため、下記のように各桁構成が
わかるように図示していく。
PCの性能の許す限り、桁数の制限なく整数として加算できる言語もある(python)が,
そうでない言語の場合は下記のように考えていく必要がある。9999
+9998
————-
199973桁目までの文字列は前の桁の繰り上がり数と、各桁の足し算の1桁目で構成される事がわかる。
4桁目の足し算では、3桁目の繰り上がり+4桁同士の足し算の結果を3桁目までの文字列と連結すれば
いい事がわかる。### 3.コード例(Python:文字列処理をしたもの)
“`python
#2つの数字の入力
in1=input()
in2=input()
#入力文字列の長さ
len1=len(in1)
#出力結果文字列
str1=”
#前の桁の繰り上がり状態0:繰り上がりなし 1:繰り上がりあり
p_fugo=0for i in range(len1):
【ポエム】Laravelのバリデーションルールの指定方法について考える
今回は **ポエム** です。技術的には全然高度なお話ではなく、ただ、気持ち悪かったのをどうにかしたかったというお話です。ポエムが苦手な方は「戻る」ボタンを押すことをオススメします。
# 前提
– PHP 7.4.9
– Laravel 8.5.0# 3行でわかるまとめ
Laravel のバリデーションルールの指定方法が気持ち悪い(とくにクラス定数を使ったとき)。
いろいろ試してみたが、気持ち悪さを解消できなかった。
自作パッケージを作って、ようやく気持ち悪さを解消できた。# クラス定数問題
Laravel では、バリデーションルールは **文字列** で指定します。例えば、 `title` 属性に「必須入力であること」と「1000文字以下であること」というルールを指定する場合は、次のように書きます。
“`php
$request->validate([
‘title’ => ‘required|max:1000’,
]);
“``|` で区切らずに **配列** で指定することもできます。
“`php
$request->validate([
PHPUnit assertStringContainsString アサーションについて
# 目的
– PHPUnitのアサーションの1つであるassertStringContainsStringについてかんたんにまとめる
# すみません
– 本記事は筆者の備忘録的要素が強いためメモ的な簡易的な記事となる。
– 内容が薄い場合は参考文献先などを参考に各自て補填していただければ幸いである。# assertStringContainsString
– 検査対象の中に指定された文字列が含まれているかをチェックするアサーションである。
– 具体例を下記に記載する。“`php
assertStringContainsString(‘A’, ‘B’);
“`
– 上記のようにテストコードが記載された場合、指定された文字列がAで検査対象がBとなる。
– もう少しざっくりとしたコードを日本語を交えて記載する。“`php
assertStringContainsString(‘検査対象に入っていることが期待されている指定された文字列’, ‘検査対象の文字列や変数’)
“`
– もう少し具体的な例を下記に記載する。
[Laravel] 特定のマイグレーションだけをマイグレート、ロールバックしたい!!!
#初めに
入社してから与えられた課題で、特定のマイグレーション以外をロールバックして、修正、特定のマイグレーション以外を再び実行するという操作をしたくなったのですが、なかなか情報が見つからず、たくさんのサイトを見て得た情報と最終的に見つけた自己流の解決策を紹介します。
#マイグレーションは連続的なものであるという前提
いざというときにLaravelがデータを安全にロールバックできるようにするための仕組みがマイグレーションというものらしいです。
だから、マイグレーションはそれらが作成された順にひとつずつ実行しています。この前提から特定のマイグレーションだけを実行することは邪道なのではという疑念を抱きつつ、解決策へ、、、
#解決策
###特定のマイグレーションだけをマイグレートする
`php artisan migrate:refresh`を応用して使います。##### マイグレーションを指定したファイルから1つだけマイグレートする
“`
php artisan migrate:refresh –step=1 –path=/database/migrations/ファイル
PHPUnitで始めるユニットテスト
#目次
[ユニットテストとは](#ユニットテストとは)
[インストール方法](#インストール方法)
[簡単なテストコードの書き方と実行方法](#簡単なテストコードの書き方と実行方法)
[テスト結果の確認方法](#テスト結果の確認方法)
[複数データのテスト](#複数データのテスト)
[プライベートメソッドのテスト](#プライベートメソッドのテスト)#ユニットテストとは
プログラムの小さな機能単位に対して行う動作確認のこと
ある操作を行った時に結果がどうなるかを
順々に試していく作業を自動化するためにある#インストール方法
“composer“はインストールされている前提で進めていきます。
インストールしてない方はインストールしてから戻ってきてください
これは推奨されていないやり方ですが、“`php
composer global require ‘phpunit/phpunit:*’
echo “export PATH=\$PATH:\$HOME/.config/composer/vendor/bin” >> ~/.bash_profile
source ~/.bas
アリババクラウドECSへのWP-CLIのインストールと正しい権限とユーザーロールの準備
この3部構成のチュートリアルでは、WP-CLIを使用してWordPressの高度な管理を設定する方法を説明します。パート1では、**アリババクラウドECS**上でのWP-CLIの設定に焦点を当てています。
*本ブログは英語版からの翻訳です。オリジナルは[こちら](https://www.alibabacloud.com/blog/advanced-wordpress-management-using-wp-cli-on-alibaba-cloud-ecs—part-1_590770)からご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。*
[Alibaba Cloud Tech Share](https://www.alibabacloud.com/ja/campaign/techshare)執筆者のJeff Cleverley著。[Tech Share](https://www.alibabacloud.com/ja/campaign/techshare)は、技術的な知識やベストプラクティスをクラウドコミュニティ内で共
[Laravel8]ログイン機能付きでプロジェクトを作成するまで
1. [composerでプロジェクトを作成する](#1-composerでプロジェクトを作成する)
2. [Jetstreamをインストールする](#2-Jetstreamをインストールする)
3. [LivewireかInertiaのどっちかをインストールする](#3-LivewireかInertiaのどっちかをインストールする)
4. [ビルドする](#4-ビルドする)
5. [データベースを作る](#5-データベースを作る)
6. [.envファイルでデータベースを変更する](#6-.envファイルでデータベースを変更する)
7. [マイグレーションする](#7-マイグレーションする)環境:XAMPP for Windows, Laravel Framework 8.6.0
###1. composerでプロジェクトを作成する
まずはcomposerを使ってプロジェクトを作成します。
以下のコードの場合、『your-project』という名前のプロジェクトを作成します。“`
composer create-project –prefer-dist larave
PHP Laravel 6 おすすめ映画投稿サイト作成過程 8:ジャンルタグ追加編(後編)
##controllerとviewファイルの作成
recommendsのviewファイルを複製して使用しました。
他のviewファイルも同様です。“`recommend/resources/views/tags/create.blade.php
@extends(‘layouts.app’)@section(‘content’)
{{ __(‘Login’) }}関連する記事
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関連のことを調べてみた