解説動画も用意しました
今回試した環境
- Windows,11
- XAMPP
- PHP Version 8.1.4
- Composer version 2.0.14
Composerは必須なので、こちらからダウンロードしてインストールしてください。
https://getcomposer.org/download/
⇧Windowsの場合は上記赤枠のリンクからDownload可能です⇧
※Macの方はコマンドになります、別記事を参照していただければと存じます。
1.用意した/Usersテーブル (テスト例)
2.HTML表示結果
Eloquentをダウンロード
1.Download
作業フォルダ内で以下コマンドを打ちます
composer require illuminate/database
以下のようにファイルとフォルダがダウンロードできます。
(VSCodeでフォルダを開いたところをスクリーンショットしました)
2.DB接続を関数にしてみた(とりあえずスグに使ってみたいから)
以下DB名とuser/Passwordは各々の環境に合わせて変更が必要
function db_conn(){
require_once 'vendor/autoload.php';
$db = new Illuminate\Database\Capsule\Manager;
//**↓↓↓ここがDB接続設定↓↓↓**
$db->addConnection([
'driver' => 'mysql',
'host' => 'localhost',
'database' => '**DB名**',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
]);
//**↑↑↑ここがDB接続設定↑↑↑**
$db->setAsGlobal();
$db->bootEloquent();
}
3.Modelからデータを取得表示してみた!(とりあえずスグに使ってみたいから)
<?php
require_once "db.php"; //上記のdb.phpを読み込む
db_conn(); //DB接続
//Userクラス**↓↓↓ このクラスはusersテーブルに紐づきます ↓↓↓**
class User extends Illuminate\Database\Eloquent\Model {
public $timestamps = false; //created_at,updated_at,無効
}
//データ取得例
$users = User::all(); //全て表示
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PHP-Eloquent</title>
</head>
<body>
<table>
<?php
foreach($users as $user) {
?>
<tr>
<td><?=$user->id?></td>
<td><?=$user->name?></td>
<td><?=$user->lid?></td>
</tr>
<?php
}
?>
</table>
</body>
</html>
↓ usersテーブル👉Userクラスという仕組み ↓
・例えば「 itemsテーブル👉Itemクラス 」
・例えば「 booksテーブル👉Bookクラス」
Laravelとかもそうですね!これを使うとLaravel学ぶ時にmodel周りがスッと入ってきやすいかなと思いました。
//Userクラス**↓↓↓ このクラスはusersテーブルに紐づきます ↓↓↓**
class User extends Illuminate\Database\Eloquent\Model {
public $timestamps = false; //created_at,updated_at,無効
}
4.うわ~~マジでSQL書かずに動いた!
PHPでこれが使えたらマジで楽になる。
Valitronでバリデーション、DBはEloquent。
簡単にプロトタイプ作るには良いな~~~~
※SQLの基本はしっかり勉強しましょう!これとは別に必要なスキルです
5. 登録、削除もLaravel同様に書けました。当たり前か・・・
//データ登録
$user = new User();
$user->name = "yamazaki";
$user->lid = "test01";
$user->save();
//データ更新
$user = User::find(1); //id=1のnameを更新
$user->name = "yamazaki";
$user->save();
//updateメソッドの更新では「update_at」カラムを更新しようとするのですが、今回はが無いのでsaveで更新
//データ削除
$user = User::find(1); //id=1を削除
$user->delete();
おススメ動画
PHP【クラス入門】フレームワーク学ぶ前に~学習動画リスト~
TailwindCSS入門~学習動画リスト~
役立ちましたか?
チャンネル登録・フォロー・SNSでの拡散も是非お願いいたします。
Twitter : https://twitter.com/daisu_yamazaki
Youtube: https://www.youtube.com/@osozaki
以上