- 1. MAMP ルートが合っている、URLも間違ってないよな… ローカルサーバーが開けない!
- 2. CakePHP で動的なセレクトボックスを実装する
- 3. Laravel8:ログイン後にユーザーごとのページ(マイページ)にリダイレクトさせる
- 4. 【Laravel5/6/7/8対応】既存のDBからmigrationファイルを作成する
- 5. PHP のエラーメッセージ Cannot access offset of type string on string in …
- 6. laravelでメール送信・ログイン・マイページ機能を備えたsnsを作ってみた
- 7. React.js + Laravel SPA開発チュートリアル(動画版)
- 8. SymfonyFormで郵便番号や電話番号の分割フィールド
- 9. 【PHP】アクセス修飾子(public、protected、private)の違い
- 10. 【Laravel】中間テーブルの値をDateTime型で取得したい
- 11. upper_bound (paizaランク B 相当) 学習記録(自分用)
- 12. PHP-CS-Fixerインストール出来ないエラーと解決方法
- 13. LaravelインストールからDB接続までのコマンド
- 14. 野球好きが作るプログラミング 〜PHP編〜 変数、for文
- 15. 【Laravel】Class not foundエラーの対処方法
- 16. 【PHP初心者】クラス変数とメンバ変数について
- 17. 【PHP】2次元連想配列の結合(array_replace_recursiveで異なるキーの値を残して結合)
- 18. laravel外部キー設定したテーブルのデータをtruncateしたい
- 19. laravel jetstream 認証メール送信をスキップしたかった
- 20. Laravel 論理削除されているリレーション先データを取得する方法
MAMP ルートが合っている、URLも間違ってないよな… ローカルサーバーが開けない!
Udemyのカリキュラムをしていて
MAMPのルートを正しく設定しURLを正しく入力した!
よし、出力してみよう!![d64e7170efa36d186d7a59f587f91741.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1678154/56d0ac0a-4f45-99be-da73-df0277feaa0c.png)
絶望ですよね…
しかし色々ググっていると
**そもそもサーバーは正しいポートで入力したか?**
このように合ったので自身のMAMPのPreferencesを開き
PortsのApache Portの数値を確認すると
カリキュラムで説明してあるポート番号と違うやんけ!!正しいポートをURLに入力すると
![PHP.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1678154/4455e3ed-7e62-dd01-a585-69ed54085cf9.png)
無事、開けました!!
CakePHP で動的なセレクトボックスを実装する
## はじめに
SESの現場の中でページネーションの実装をしました。
その際、初めてsessionを使ったりajaxを使ったりしたのでこんなことしたっていう備忘録で
記事を作成しました。## 処理の流れ
全体的な流れとしては以下の通りとなります。“`
セレクトボックス変更 => ajax呼び出し => コントローラー呼び出し => セッションに値を保存 => リロード
“`#### コード
変数$perPageにセッションで管理する値を持たせてます。それを三項演算子で判別して選択されるようにしています。“`index.php
= $this->Form->create (null,[ “type” => “post”]); ?>
Laravel8:ログイン後にユーザーごとのページ(マイページ)にリダイレクトさせる
## 前提
PHP7
Laravel8
Jetstream
を導入済み## やりたいこと
jetstreamのログイン機能でログインしたあと、各ユーザーのIDごとのページにリダイレクトさせたい。## 準備
RouteServiceProviderの「HOME=◯◯」の部分にリダイレクトさせたいURLを入れる。
このとき、◯◯の部分は第2引数を持てないのでここでは一旦「redirects」というアドレスに飛ばして、その後パラメータ付きのURLに遷移させる。“`app/Providers/RouteServiceProvider.php
class RouteServiceProvider extends ServiceProvider
{
/**
* The path to the “home” route for your application.
*
* This is used by Laravel authentication to redirect users after login.
*
* @var
【Laravel5/6/7/8対応】既存のDBからmigrationファイルを作成する
こんなテーブルがある場合に
“`php
+—————-+————–+——+—–+———————+——————————-+
| Field | Type | Null | Key | Default | Extra |
+—————-+————–+——+—–+———————+——————————-+
| id | int(7) | NO | PRI | NULL | auto_increment |
| password | varchar(255) | NO | | NULL |
PHP のエラーメッセージ Cannot access offset of type string on string in …
エラーメッセージの意味がよくわからなくて苦労したので、備忘録として。(ネットで記事が見つからなくて困りました。特に日本語のもの。)
この記事は、PHP8.0 でのものですが、たぶん、もっと以前のバージョンでも同様です。## メッセージの意味
このエラーメッセージは、
「文字列に対して【文字列型のオフセット】でアクセスすることはできません!」
という意味です。## エラーが起こる原因
配列の構造を勘違いしていることが原因です。配列に格納されている、文字列型の要素にアクセスするキーに対して、(実際には文字列型なのに、配列型の要素が格納されていると勘違いして、)うっかり、[その文字列型の要素にアクセスするキー][文字列型のキー]でアクセスしようとすると、このエラーメッセージが出ます。
エラーが起こる場面としては、配列に【文字列型のキー】を使って要素を追加したり、【文字列型のキー】を使って要素を読み込もうとする場合が考えられます。(下記の例を参照)
## エラーの背景
PHP は、文字列に対して「[]」(半角角カッコ)を使うと、それを「オフセット」と解釈します。それは、配列の要
laravelでメール送信・ログイン・マイページ機能を備えたsnsを作ってみた
普段はpythonを使っているが、この度laravelを使った開発にも手を出してみた。
実装した機能などは極力自作、コマンドの使用は最小限に。##使用言語
php
laravel
html
scss
ちょっとjs##完成物
![17E6C5B3-E75A-417B-9DDC-9E22F92B798E_1_201_a.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2074981/4af22cdb-cc81-9bb8-0896-a679c0614606.jpeg)
トップページからは、新規会員登録、ログイン、お問い合わせ画面に遷移ができる。①新規会員登録した場合、ログイン画面に遷移。ログインした場合は掲示板画面に遷移
②ログインした場合、ログイン後の画面に遷移。(以下の画面)
![FF5605EF-DD68-42B1-ACCC-DBF510CC8082_1_201_a.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com
React.js + Laravel SPA開発チュートリアル(動画版)
React.jsとLaravelを使用してSPAなToDoアプリを開発する講座を動画(Youtube)で作成しました。
よろしかったらぜひ!# 第1回 アプリケーションのデモ
この講座で開発するアプリケーションの動作デモです。[![第1回 アプリケーションのデモ](http://img.youtube.com/vi/hPjcbKtpTjY/0.jpg)](https://youtu.be/hPjcbKtpTjY)
# 第2回 Laravel8のインストールと初期設定
バックエンドから作るので最初はLaravelのインストールです。[![第2回 Laravel8のインストールと初期設定](http://img.youtube.com/vi/qoFYXNb0TEw/0.jpg)](https://youtu.be/qoFYXNb0TEw)
# 第3回 データベースの設計と構築
Migrationでデータベースの作成と、Factory/Seederという機能を使用してダミーデータの登録を行います。[![第3回 データベースの設計と構築](http://img.youtub
SymfonyFormで郵便番号や電話番号の分割フィールド
こんなよくありそうな入力フォーム
![スクリーンショット 2021-09-23 23.39.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2057677/c66dbfcc-c91c-24b6-49af-5beabb4de573.png)想定するEntityは以下の様
“`
/**
* @ORM\Column(type=”string”, length=8, nullable=true)
*/
private $postal;
“`つまりEntityでは`$postal`の文字列のみで、入力フォームは分割したい。
意外と探しても情報がなかったのでできた方法をメモする# 郵便番号用のFormTypeを作成
“`
【PHP】アクセス修飾子(public、protected、private)の違い
#はじめに
私は、少し前まで、`public`などのアクセス修飾子について、functionの前についている利用範囲を示すもの程度の認識しかなかったため、備忘録として残しておきます。#アクセス修飾子
アクセス修飾子とは、クラス内のプロパティやメソッドをどの範囲まで利用することができるか(どこからアクセスできるのか)を定義するものです。
それでは、早速3つのアクセス修飾子の違いについて見ていきましょう。# ①public
クラスの内外にかかわらず、__どこからでも__アクセスが許可されます。
※ アクセス修飾子をつけずに宣言したメソッドは、`public`が指定されたものとみなされます。# ②protected
__クラス内__と__そのクラスを継承したクラス__からのアクセスが許可されます。
# ③private
__クラス内でのみ__アクセスが許可されます。
継承したクラスからもアクセスできません。#おわりに
上記ような基本をしっかり頭に入れて、外部から変更されては困るようなプロパティは`private`を指定するなど、アクセス修飾子を適切に使いましょう。
【Laravel】中間テーブルの値をDateTime型で取得したい
## 目的
多対多のモデルがあり、中間テーブルにはDatetime型のフィールドがあるとします。
たとえば下記のように、ユーザーが複数のスクールに通っており、それぞれのスクールを開始した日時をもっているとき、
![名称未設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1995792/0ff91b81-fccc-ae0f-72e2-bd16cae0e749.png)開始日時をDateTimeで取得し、format()などのメソッドをそのまま使いたいときのモデル定義はどうすればいいかについて、覚書を残します。
“`php
foreach($user->schools as $school){
echo $school->pivot->start_at->format(‘Y年m月d日’); // Datetimeにキャストされた状態で値を取得したい
}
“`## 結論
カスタム中間テーブルモデルを定義し、そこに日付ミューテタを追加します。## 手順
### 1. カスタム中間テーブル
upper_bound (paizaランク B 相当) 学習記録(自分用)
# はじめに
Paizaの問題集を解いた際のメモ。
一応クリアはしたものの良い実装ではないと思うのであまり参考にはならないかと思います。
あくまでも自分用の学習メモ。問題集>二部探索メニュー>upper_bound
問題URL:https://paiza.jp/works/mondai/binary_search/binary_search__basic_step2# 問題
> n 人の生徒が受けた、10^9 点満点のテストの採点結果 A_1, A_2, …, A_n があります。あなたは合格点を自由に設定することができます。合格点が k 点のとき、k 点より大きい点数を取った生徒が合格で、k 点以下の点数を取った生徒が不合格です。### 入力値
> n
A_1 A_2 … A_n
q
k_1
k_2
…
k_q> 1行目に、生徒の人数 n が与えられます。
2行目に、採点結果 A_i が半角スペース区切りで与えられます。
3行目に、合格点の候補数 q が与えられます。
続く q 行のうち i (1 ≦ i ≦ q) 行目に、合格点の候補 k_i が与えられ
PHP-CS-Fixerインストール出来ないエラーと解決方法
PHP-CS-Fixerのインストール時、エラーが出たのと解決方法が分かったので記載。ただし自身が学習中の初心者で内容が浅すぎるのと、ググっても同様のエラーが見当たらなかったため、もし相違あればコメント下さい。
#環境
| | Ver |
|:-:|:-:|
| Mac OS | 11.5.2 |
| PHP | 7.3.24 |
| Laravel | 8.37.0 |#エラー内容
“`
– Root composer.json requires friendsofphp/php-cs-fixer ^3.1 -> satisfiable by friendsofphp/php-cs-fixer[v3.1.0].
– friendsofphp/php-cs-fixer v3.1.0 requires symfony/polyfill-php72 ^1.23 -> found symfony/polyfill-php72[dev-main, v1.23.0, 1.23.x-dev (alias of dev-main)] but the package is fix
LaravelインストールからDB接続までのコマンド
#Laravel初心者がwebサイト立ち上げまで、コマンドまとめてみた
PHPを学習し、自分が作りたいwebサイト、アプリを実装するために記事を書きます。
初学者なので、間違っている可能性があるので、全てを鵜呑みにしないでください。ですが、誤記事にしないよう努めます。早速ですがいってみましょう!!
##Laravelインストール
※初めに開発環境はMAMPを使っています。
※Laravelバージョンは6を指定しています。MAMP/htdocsまでディレクトリを移動します。
1.Laravelインストール
“`
htdocs$ composer create-project laravel/laravel フォルダ名 –prefer-dist “6.*”
“`–prefer-dist こちらのオプションはファイルの圧縮版をダウンロードすることで早くダウンロードすることができます。
2.サーバースタート
“`
フォルダ名$ php artisan serve
“`
サーバーを立ち上げることができました。
http://127.0.0.1:8000をurl
野球好きが作るプログラミング 〜PHP編〜 変数、for文
##1.変数
*変数の意義:
1.その値がどのような意味を持つのか?がわかりやすくなる。
例)“`
$speed=150;
$control=”A”
$stamina=”C”
“`
2.値を変更するのが楽になる
例)松坂選手の最速は156kmです。と出力したい時“`
“`例)これを、涌井選手の最速は151kmです。と出力したい時
“`
“`*変数がないとどうなる?
“`
echo “松坂選手の最速は156kmです。”
echo “涌井選手の最速は151kmです。”
echo “成瀬選手の最速は144kmです。”
“`こんな感じ
【Laravel】Class not foundエラーの対処方法
ポートフォリオ作成中にClass not foundエラーにつまづきました。
突破に時間を要してしまったので、対処方法を記載しておきます。#エラー画面
![IMG_3568.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159752/7819438f-a7ac-72d7-bc60-ffb9f795decd.jpeg)
CalendarViewが見つかりませんというエラー。
カレンダーを表示するコードを書いてあるCalendarView.phpというファイルを、表示する際に呼び出せずにエラーが出ている様子。#確認したこと
####1.composer.jsonの確認
オートローダで対象となるディレクトリはcomposer.jsonで設定してあるため、それが間違っていないか確認する。
ちなみにオートローダとは、PHPでは別のファイルのプログラムを利用する際、requireなどでパスを指定して読み込む。
しかしLaravelはオートローダ機能があり、対象となるファイルが自動的に読み込まれる。
その
【PHP初心者】クラス変数とメンバ変数について
## はじめに
PHPを勉強しているときに「メンバ変数」という表記を目にしました。
過去に少しJavaを勉強していた時があり、「プロパティ」「フィールド」というワードはよく目にしていたのですが、「メンバ変数」はあまり馴染みがなかったのでちょっと調べてみました。メンバ変数とよく対比される「クラス変数」についても併せて見ていきたいと思います。
( 補足:Javaでも「メンバ変数」ってワードはあるようです。私がたまたま出会わなかっただけみたいです。笑)## メンバ変数
調べて見たところ、__「インスタンス変数 = メンバ変数 = プロパティ」__と説明されているページが多く見つかりました。
>__参考:__
[【PHP】インスタンス変数(メンバ変数)](https://algorithm.joho.info/programming/php/instance-variable-php/)
[クラスから理解するPHPのオブジェクト指向](https://rightcode.co.jp/blog/become-engineer/php-object-orientation)
[【PHP入門
【PHP】2次元連想配列の結合(array_replace_recursiveで異なるキーの値を残して結合)
## 実現したいこと
多次元配列の内側の配列にも再帰的に結合を行いたい。
下記の配列“`$status“`と“`$orders_count“`という2次元の連想配列を、“`$result“`という配列のように結合したい。#### 一つ目の配列
“`
$status = [
[
“status” => 1,
“name” => “ステータス1”,
],
[
“status” => 2,
“name” => “ステータス2”,
],
[
“status” => 3,
“name” => “ステータス3”,
]
];
“`#### 二つ目の配列
“`
$orders_count = [
[
“orders_count” => 40,
],
[
“orders_count” => 30,
],
[
“orders_count” => 20,
]
]
“`#### 欲しい結合結果
“`
$r
laravel外部キー設定したテーブルのデータをtruncateしたい
##はじめに
データをいったん消去したかったので調べてみると
php artisan db:seedを使ってできるようだったのでやってみた。
備忘録として残しておきます。##環境
– Laravel8
– php8## 最初に実行したコード(失敗例)
“` php
namespace Database\Seeders;
use Illuminate\Database\Seeder;class DatabaseSeeder extends Seeder
{
/**
* Seed the application’s database.
*
* @return void
*/
public function run()
{
\App\Models\User::truncate();
\App\Models\Post::truncate();
}
}
“`## `php artisan db:seed` 実行後エラー
“`
Illuminate\Datab
laravel jetstream 認証メール送信をスキップしたかった
##はじめに
Laravel8 JetStreamには会員登録時に認証メールを導入する機能があって便利だけど
設定後に認証メール送信せずにユーザー登録できるルートも用意したかったので備忘録として残します。##結論
`trait MustVerifyEmail hasVerifiedEmail()` のnull判定により、認証メールが送信されていたので
新規登録時に`email_verified_at`を挿入できるように `fillable`に追加する###1. ユーザー登録時に `email_verified_at` に時刻を挿入する
“` php
use Carbon\Carbon;$user = User::create([
‘email’ => $request->input(‘email’),
‘name’ => $request->input(‘name’),
‘email_verified_at’ => Carbon::now() //時刻設定して認証メールをスキップする
]);
“`###2. Userモデルの`fillable`
Laravel 論理削除されているリレーション先データを取得する方法
# 目的
- 論理削除されているリレーション先データを取得する方法をまとめる
# 方法
– リレーションの記載に`withTrashed()`の記載も追加する。
“`php
public function foo()
{
return $this->belongsTo(‘App\Models\Foo’,’foo_id’)->withTrashed();
}
“`