ホームページ  >  記事  >  バックエンド開発  >  Laravel 5.2 での .env ファイルとモデル操作に関する共有例

Laravel 5.2 での .env ファイルとモデル操作に関する共有例

黄舟
黄舟オリジナル
2017-09-11 10:18:081561ブラウズ

1. .env ファイル

.env ファイルは、アプリケーションパラメータ、データベース接続、およびキャッシュ処理を設定するときに使用されます。


// 应用相关参数
APP_ENV=local
APP_DEBUG=true   //应用调试模式
APP_KEY=base64:hMYz0BMJDJARKgrmaV93YQY/p9SatnV8m0kT4LVJR5w= //应用key
APP_URL=http://localhost
// 数据库连接参数
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravelblog
DB_USERNAME=root
DB_PASSWORD=
DB_PREFIX='hd_'

// 缓存相关参数
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

// Redis 连接参数
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

// 邮件相关参数
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null  

このうち、このAPP_KEYの説明はconfig/app.phpファイル内で次のようになります:


/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
| This key is used by the Illuminate encrypter service and should be set
| to a random, 32 character string, otherwise these encrypted strings
| will not be safe. Please do this before deploying an application!
|
*/

'key' => env('APP_KEY'),

'cipher' => 'AES-256-CBC',

key keyは.envファイルのAPP_KEYを読み取ります。 32 ビットのランダムな文字列。暗号キーは APP_KEY の長さを決定します。通常、AES-256-CBC (デフォルト) はキーの長さが 32 文字であることを意味し、AES-128-CBC は 16 文字を意味します。

そのため、セッションと暗号化されたサービスのセキュリティを確保するには、Artisan コマンドを使用して次を生成して APP_KEY を設定する必要があります:


php artisan key:generate

このようにして、新しい APP_KEY が.env ファイル。

2. モデル操作

1. DB クラス


// 插入
DB::insert('insert into hd_user(username, password) values(?, ?)', ['admin', 123456]);

// 查询
DB::select('select * from hd_user where username = ?', ['admin']);

// 更新
DB::update('update hd_user set password= ? where username = ?', [654321, 'admin']);

// 删除
DB::delete('delete from hd_user where username = ?', ['admin']);

注: dd() 関数は、変数情報を出力するために使用される print_r() に似ており、Laravel の補助関数です。

2. クエリ ビルダー

DB クラスのテーブル メソッドは、指定されたテーブルのクエリ ビルダーを返します。


// 查询所有
DB::table('user')->get();

// 查询多条
DB::table('user')->where('age', '>', 20)->get();

// 查询一条
DB::table('user')->where('age', '>', 20)->first();

// 查询特定字段
DB::table('user')->select('name', 'email as user_email')->get();

// distinct() 方法去重复
$users = DB::table('user')->distinct()->get();

3. Eloquent ORM

1. モデルの作成

php artisan make:model User

2. テーブル名: デフォルトのモデルクラス名の複数形が使用されます。テーブル名。これは、オーバーライドするモデル クラスの protected $table 属性の定義で使用できます。

主キー: デフォルトの主キー名は「id」ですが、モデルクラスで保護された $primaryKey 属性を定義することでオーバーライドできます。

Timestamp: created_at フィールドと updated_a フィールドは、モデル クラスで public $timestamps 属性を false として定義できます。

3. コントローラーメソッドでのデータ操作

:

// 插入
$user = new User;
$user->username = 'admin';
$user->save();
// 查询
// 查询所有
User::get();

// 查询多条
User::where('age', '>', '20')->get();

// 查询一条
user::find(1);


// 更新
$user = User::find(1); // 查找主键为1的一条记录
$user->username = 'new name';
$user->save();         // 或者用 update() 方法


// 删除

// 方法1.先获取记录再删除
User::find(1)->delete();

// 方法2.通过主键直接删除
User::destroy(1, 2);

// 方法3.通过 where 条件删除
User::where('username', 'admin')->delete();

以上がLaravel 5.2 での .env ファイルとモデル操作に関する共有例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。