ホームページ 見出し Laravelチュートリアルの基礎とデータベースの操作方法

Laravelチュートリアルの基礎とデータベースの操作方法

Jul 10, 2017 am 11:51 AM
laravel はじめる どうやって

Laravel は最もエレガントな PHP フレームワークであり、PHP を学習している多くの友人が長い間 Laravel を欲しがっていました。基本的な機能のインストール方法と使い方、データベースの操作方法をゼロから説明します。今日は、私たちの php 中国語 Web サイトで学習と実践をお届けします。

PHP 中国語 Web サイトで提供されているビデオチュートリアルを学ぶことができます:

1. Laravel を簡単に学ぶ - 基礎

関連リンク: http://www.php.cn/ course /282.html

2.

Laravel を簡単に学ぶ - 高度なビデオチュートリアル

関連リンク: http://www.php.cn/course/402.html

以下から学習してくださいLaravel フレームワークを使用してください。

インストール

Laravel フレームワークは Composer を使用してインストールと依存関係の管理を実行します。まだインストールしていない場合は、今すぐ Composer のインストールを開始してください。

Composer をインストールした後、次のコマンドを使用してコマンドラインから Laravel をインストールできます:

composer create-project laravel/laravel your-project-name

または、Github リポジトリからダウンロードできます。次に、Composerをインストールした後、プロジェクトのルートディレクトリでcomposer installコマンドを実行します。このコマンドは、フレームワークの依存コンポーネントをダウンロードしてインストールします。

書き込み許可

ディレクトリ構造

フレームワークをインストールした後、プロジェクトのディレクトリ構造をよく理解する必要があります。アプリ フォルダーには、ビュー、コントローラー、モデルなどのディレクトリが含まれています。 プログラム内のコードのほとんどは、これらのディレクトリに保存されます。 app/config フォルダー内の一部の構成項目を確認することもできます。

ルーティング

最初のルートを作成することから始めましょう。 Laravel では、ルーティングする簡単な方法はクロージャを使用することです。 app/routes.php ファイルを開き、次のコードを追加します:

Route::get('users', function()
{
    return 'Users!';
});
ログイン後にコピー

これで、Web ブラウザに /users と入力すると、Users の出力が表示されるはずです。素晴らしい!最初のルートが作成されました。


ルートをコントローラー クラスに割り当てることもできます。例:

ビューの作成

次に、ユーザー データを表示するビューを作成する必要があります。ビューは、HTML コードとして app/views フォルダーに保存されます。このフォルダーに、layout.blade.php と users.blade.php の 2 つのビュー ファイルを配置します。まず、layout.blade.php ファイルを作成しましょう:

<html>
    <body>
        <h1>Laravel Quickstart</h1>
                @yield(&#39;content&#39;)
    </body>
</html>
ログイン後にコピー

次に、users.blade.php ビューを作成します:

@extends(&#39;layout&#39;)
@section(&#39;content&#39;)    
Users!
@stop
ログイン後にコピー

ここの構文は馴染みがないかもしれません。 Laravel のテンプレート システムである Blade を使用しているためです。 Blade は、テンプレートの生の PHP コードにコンパイルするために少数の

正規表現 のみを使用するため、非常に高速です。 Blade は、テンプレート継承 や、if や for などの一般的な PHP 制御構造構文糖衣などの強力な機能を提供します。 詳細については、Blade のドキュメントを参照してください。

ビューが得られたので、/users ルートに戻りましょう。ユーザーを返す代わりにビューを使用します!:

Route::get(&#39;users&#39;, function()
{
    return View::make(&#39;users&#39;);
});
ログイン後にコピー

美しい!これで、レイアウトを継承するビューが正常に作成されました。次に、データベース層から始めましょう。

移行の作成

データを保持するテーブルを作成するには、Laravel 移行システムを使用します。移行ではデータベースへの変更を記述し、チーム メンバーと簡単に共有できるようにします。

まず、データベース接続を設定します。すべてのデータベース接続情報は app/config/database.php ファイルで構成できます。デフォルトでは、Laravel は SQLite を使用するように構成されており、SQLite データベースは app/database ディレクトリに保存されます。データベース

設定ファイルのドライバーオプションをmysqlに変更し、mysql接続情報を設定できます。

次に、移行を作成するために、Artisan CLI を使用します。プロジェクトのルート ディレクトリで、ターミナルで次のコマンドを実行します。

php artisan migrate:make create_users_table
ログイン後にコピー

次に、app/database/migrations ディレクトリで生成された移行ファイルを見つけます。このファイルには、up と down の 2 つのメソッドを持つクラスが含まれています。 up メソッドでは、データベース テーブルに対する変更に名前を付けます。down メソッドでは、単に変更を削除します。

次のように移行を定義しましょう:

public function up()
{
    Schema::create(&#39;users&#39;, function($table)
    {
        $table->increments(&#39;id&#39;);
        $table->string(&#39;email&#39;)->unique();
        $table->string(&#39;name&#39;);
        $table->timestamps();
    });
}
public function down()
{
    Schema::drop(&#39;users&#39;);
}
ログイン後にコピー

次に、ターミナルを使用してプロジェクトのルート ディレクトリで mitigate コマンドを実行し、移行を実行します:

php artisan migrate
ログイン後にコピー

移行をロールバックしたい場合は、移行を実行できます。ロールバックコマンド。データベース テーブルができたので、データを追加しましょう。

雄弁なORM

Laravel 提供非常棒的 ORM:Eloquent。如果你使用过 Ruby on Rails 框架,你会发现 Eloquent 很相似,因为它遵循数据库交互的 ActiveRecord ORM 风格。

首先,让我们来定义个模型。ELoquent 模型可以用来查询相关数据表,以及表内的某一行。别着急,我们很快会谈及!模型通常存放在 app/models 目录。让我们在该目录定义个 User.php 模型,如:

class User extends Eloquent {}
ログイン後にコピー

注意我们并没有告诉 Eloquent 使用哪个表。Eloquent 有多种约定, 一个是使用模型的复数形式作为模型的数据库表。非常方便!

使用你喜欢的数据库管理工具,插入几行数据到 users 表,我们将使用 Eloquent 取得它们并传递到视图中。

现在我们修改我们 /users 路由如下:

Route::get(&#39;users&#39;, function()
{
    $users = User::all();
    return View::make(&#39;users&#39;)->with(&#39;users&#39;, $users);
});
ログイン後にコピー

让我们来看看该路由。首先,User 模型的 all 方法将会从 users 表中取得所有记录。接下来,我们通过 with 方法将这些记录传递到视图。with 方法接受一个键和一个值,那么该值就可以在视图中使用了。

激动啊。现在我们准备将用户显示在我们视图!

显示数据

现在我们视图中已经可以访问 users 类,我们可以如下显示它们:


@extends(&#39;layout&#39;)
@section(&#39;content&#39;)
    @foreach($users as $user)
        <p>{{ $user->name }}</p>
    @endforeach
@stop
ログイン後にコピー

你可以发现没有找到 echo 语句。当使用 Blade 时,你可以使用两个花括号来输出数据。非常简单,你现在应该可以通过 /users 路由来查看到用户姓名作为响应输出。

下面来介绍一下如何操作数据库:

一、读/写连接

有时您可能希望使用一个SELECT语句的数据库连接,,另一个用于插入、更新和删除语句。Laravel使这微风,将始终使用正确的连接是否使用原始查询,查询生成器或雄辩的ORM。

二、运行查询

一旦你已经配置了数据库连接,你可以使用DB运行查询类。

运行一个Select查询

$results = DB::select(&#39;select * from users where id = ?&#39;, array(1));
ログイン後にコピー

结果的选择方法总是返回一个数组。

运行一个Insert语句

DB::insert(&#39;insert into users (id, name) values (?, ?)&#39;, array(1, &#39;Dayle&#39;));
ログイン後にコピー

运行一个更新语句

DB::update(&#39;update users set votes = 100 where name = ?&#39;, array(&#39;John&#39;));
ログイン後にコピー

运行一个Delete语句

DB::delete(&#39;delete from users&#39;);
ログイン後にコピー

注意:update和delete语句返回的行数的影响操作。

运行一个通用声明

DB::statement(&#39;drop table users&#39;);
ログイン後にコピー

查询事件监听

你可以查询事件监听使用DB::听方法:

DB::listen(function($sql, $bindings, $time){ //});
ログイン後にコピー

三、数据库事务

  运行在一个数据库事务的一组操作,您可以使用事务方法:

 DB::transaction(function(){ DB::table(&#39;users&#39;)->update(array(&#39;votes&#39; => 1)); DB::table(&#39;posts&#39;)->delete();});
ログイン後にコピー

注意:在事务抛出的任何异常关闭将导致自动事务将回滚

有时你可能需要开始一个事务:

DB::beginTransaction();
ログイン後にコピー

你可以通过回滚事务回滚方法:

DB::rollback();
ログイン後にコピー

最后,您可以通过提交方法:提交一个事务

DB::commit();
ログイン後にコピー

四、访问连接

当使用多个连接,你可以访问它们通过DB::连接方法:

$users = DB::connection(&#39;foo&#39;)->select(...);
ログイン後にコピー

你也可以访问原始的、潜在的PDO实例:

$pdo = DB::connection()->getPdo();
ログイン後にコピー

有时你可能需要重新连接到一个给定的数据库:

DB::reconnect(&#39;foo&#39;);
ログイン後にコピー

如果你需要断开从给定的数据库将超过底层PDO实例'smax_connections限制,使用断开连接方法:

DB::disconnect(&#39;foo&#39;);
ログイン後にコピー

五、查询日志

默认情况下,Laravel日志保存在内存的所有查询运行当前的请求。然而,在某些情况下,例如当插入的行数,这可能会导致应用程序使用多余的内存。禁用日志,你可以使用disableQueryLog方法:

DB::connection()->disableQueryLog();
ログイン後にコピー

o得到一组执行的查询,您可以使用getQueryLog方法:

$queries = DB::getQueryLog();
ログイン後にコピー


相关推荐:

1. 云服务器上部署Laravel的实例教程

2. Laravel学习-数据库操作和查询构造器的示例代码分享

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ワンクリックでPPTを生成!キミ: まずは「PPT出稼ぎ労働者」を普及させましょう ワンクリックでPPTを生成!キミ: まずは「PPT出稼ぎ労働者」を普及させましょう Aug 01, 2024 pm 03:28 PM

キミ: たった 1 文の PPT がわずか 10 秒で完成します。 PPTはとても面倒です!会議を開催するには PPT が必要であり、週次報告書を作成するには PPT が必要であり、投資を勧誘するには PPT を提示する必要があり、不正行為を告発するには PPT を送信する必要があります。大学は、PPT 専攻を勉強するようなものです。授業中に PPT を見て、授業後に PPT を行います。おそらく、デニス オースティンが 37 年前に PPT を発明したとき、PPT がこれほど普及する日が来るとは予想していなかったでしょう。 PPT 作成の大変な経験を話すと涙が出ます。 「20 ページを超える PPT を作成するのに 3 か月かかり、何十回も修正しました。PPT を見ると吐きそうになりました。」 「ピーク時には 1 日に 5 枚の PPT を作成し、息をすることさえありました。」 PPTでした。」 即席の会議をするなら、そうすべきです

CVPR 2024 のすべての賞が発表されました!オフラインでのカンファレンスには1万人近くが参加し、Googleの中国人研究者が最優秀論文賞を受賞した CVPR 2024 のすべての賞が発表されました!オフラインでのカンファレンスには1万人近くが参加し、Googleの中国人研究者が最優秀論文賞を受賞した Jun 20, 2024 pm 05:43 PM

北京時間6月20日早朝、シアトルで開催されている最高の国際コンピュータビジョンカンファレンス「CVPR2024」が、最優秀論文やその他の賞を正式に発表した。今年は、最優秀論文 2 件と学生優秀論文 2 件を含む合計 10 件の論文が賞を受賞しました。また、最優秀論文ノミネートも 2 件、学生優秀論文ノミネートも 4 件ありました。コンピュータービジョン (CV) 分野のトップカンファレンスは CVPR で、毎年多数の研究機関や大学が集まります。統計によると、今年は合計 11,532 件の論文が投稿され、2,719 件が採択され、採択率は 23.6% でした。ジョージア工科大学による CVPR2024 データの統計分析によると、研究テーマの観点から最も論文数が多いのは画像とビデオの合成と生成です (Imageandvideosyn

ベアメタルから 700 億のパラメータを備えた大規模モデルまで、チュートリアルとすぐに使えるスクリプトがここにあります ベアメタルから 700 億のパラメータを備えた大規模モデルまで、チュートリアルとすぐに使えるスクリプトがここにあります Jul 24, 2024 pm 08:13 PM

LLM が大量のデータを使用して大規模なコンピューター クラスターでトレーニングされていることはわかっています。このサイトでは、LLM トレーニング プロセスを支援および改善するために使用される多くの方法とテクノロジが紹介されています。今日、私たちが共有したいのは、基礎となるテクノロジーを深く掘り下げ、オペレーティング システムさえ持たない大量の「ベア メタル」を LLM のトレーニング用のコンピューター クラスターに変える方法を紹介する記事です。この記事は、機械がどのように考えるかを理解することで一般的な知能の実現に努めている AI スタートアップ企業 Imbue によるものです。もちろん、オペレーティング システムを持たない大量の「ベア メタル」を LLM をトレーニングするためのコンピューター クラスターに変換することは、探索と試行錯誤に満ちた簡単なプロセスではありませんが、Imbue は最終的に 700 億のパラメータを備えた LLM のトレーニングに成功しました。プロセスが蓄積する

AIの活用 | AIが一人暮らしの女の子の生活ビデオブログを作成、3日間で数万件の「いいね!」を獲得 AIの活用 | AIが一人暮らしの女の子の生活ビデオブログを作成、3日間で数万件の「いいね!」を獲得 Aug 07, 2024 pm 10:53 PM

Machine Power Report 編集者: Yang Wen 大型モデルや AIGC に代表される人工知能の波は、私たちの生活や働き方を静かに変えていますが、ほとんどの人はまだその使い方を知りません。そこで、直感的で興味深く、簡潔な人工知能のユースケースを通じてAIの活用方法を詳しく紹介し、皆様の思考を刺激するコラム「AI in Use」を立ち上げました。また、読者が革新的な実践的な使用例を提出することも歓迎します。ビデオリンク: https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ 最近、Xiaohongshu で一人暮らしの女の子の生活 vlog が人気になりました。イラスト風のアニメーションといくつかの癒しの言葉を組み合わせれば、数日で簡単に習得できます。

RAG の 12 の問題点を数え上げ、NVIDIA シニア アーキテクトが解決策を教える RAG の 12 の問題点を数え上げ、NVIDIA シニア アーキテクトが解決策を教える Jul 11, 2024 pm 01:53 PM

検索拡張生成 (RAG) は、検索を使用して言語モデルを強化する手法です。具体的には、言語モデルは回答を生成する前に、広範な文書データベースから関連情報を取得し、この情報を使用して生成プロセスをガイドします。このテクノロジーにより、コンテンツの精度と関連性が大幅に向上し、幻覚の問題を効果的に軽減し、知識の更新速度が向上し、コンテンツ生成の追跡可能性が向上します。 RAG は間違いなく、人工知能研究の中で最もエキサイティングな分野の 1 つです。 RAGについて詳しくは、当サイトのコラム記事「大型モデルの欠点を補うことに特化したRAGの新展開とは?」を参照してください。このレビューはそれを明確に説明しています。」しかし、RAG は完璧ではなく、ユーザーはそれを使用するときにいくつかの「問題点」に遭遇することがよくあります。最近、NVIDIA の生成 AI 高度なソリューション

Laravel と CodeIgniter の最新バージョンの比較 Laravel と CodeIgniter の最新バージョンの比較 Jun 05, 2024 pm 05:29 PM

Laravel 9 と CodeIgniter 4 の最新バージョンでは、更新された機能と改善が提供されます。 Laravel9はMVCアーキテクチャを採用しており、データベース移行、認証、テンプレートエンジンなどの機能を提供します。 CodeIgniter4 は、HMVC アーキテクチャを使用してルーティング、ORM、およびキャッシュを提供します。パフォーマンスの面では、Laravel9 のサービスプロバイダーベースの設計パターンと CodeIgniter4 の軽量フレームワークにより、優れたパフォーマンスが得られます。実際のアプリケーションでは、Laravel9 は柔軟性と強力な機能を必要とする複雑なプロジェクトに適しており、CodeIgniter4 は迅速な開発や小規模なアプリケーションに適しています。

ソラレベルのプレイヤーがまた登場します!ソラとケリングと比較してみました。 ソラレベルのプレイヤーがまた登場します!ソラとケリングと比較してみました。 Aug 02, 2024 am 10:19 AM

ソラが出てこられなかったとき、OpenAI の敵対者は武器を使用して街路を破壊しました。 Sora を使用しないと本当に盗まれます。本日、サンフランシスコのスタートアップ LumaAI が切り札となり、新世代の AI ビデオ生成モデル DreamMachine を発表しました。無料で誰でも利用できます。レポートによると、このモデルは、Sora に匹敵する効果を持つ、簡単なテキストの説明に基づいて、高品質でリアルなビデオを生成できます。このニュースが発表されるとすぐに、多くのユーザーがそれを試してみようと公式ウェブサイトに殺到しました。関係者は、このモデルはわずか 2 分で 120 フレームのビデオを生成できると主張していますが、多くのユーザーはアクセス数が急増したため、公式 Web サイトで何時間も待たされています。 Luma の製品成長責任者である BarkleyDai 氏は Discord についてコメントする必要がありました

Laravel - アーティザンコマンド Laravel - アーティザンコマンド Aug 27, 2024 am 10:51 AM

Laravel - アーティザン コマンド - Laravel 5.7 には、新しいコマンドを処理およびテストするための新しい方法が付属しています。これには職人コマンドをテストする新しい機能が含まれており、そのデモについては以下で説明します。