又LAG隨性筆記
  • 關於我
  • 作品集
  • 生活隨筆
  • 與我聯絡
  • 隨手扎

隨手扎

October 5, 2019

30天成爲Laravel萌新(第18天) - 建立Model

前幾天建立了Blog Post在資料庫的Schema,並且遷移(Migration)進資料庫,建立相關的資料表(blog_post)。為了讓Larave提供的ORM系統,以一個美觀、簡易的方式操作資料庫,還得建立BlogPost Model類別。

當然也可以使用artisan建立一個樣板:

artisan make:model BlogPost

然後會有app/BlogPost.php的檔案

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class BlogPost extends Model
{
    //
}

這次,只需要簡單改成下面的樣子就好:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class BlogPost extends Model
{
    protected $table = "blog_post";
    // protected $primaryKey = 'id';
    // public $timestamps = false;
}
October 4, 2019

30天成爲Laravel萌新(第17天) - 資料庫管理工具(下)‧使用DBeaver

今天要在介紹一個,我用過後就喜歡上的資料庫管理工具–DBeaver。

DBeaver的兩個版本

DBeaver Download Page

DBeaver有社區版和企業版兩種。社區版可以免費使用,並且跨平台,透過JDBC支援多種資料庫。此外還會自動檢測資料庫版本,自動尋找相對應的Drive。

我手動配置過phpMyAdmin過。同樣直接下載安裝的情況下,DBeaver簡單好多。

界面

DBeaver的界面很漂亮,我還蠻喜歡的。其中還有一個功能測試時非常好用–產生假資料。這個和前幾天亂數短文很像,不過DBeaver會針對欄位型態產生資料。資料庫測試的模擬數據生成(Mock Data Generation)也有一些限制,有些資料類型還是無法產生。

連線資料庫並填入資料

說了這麼多,相信已經下載安裝好了吧?該像昨天一樣,來連接資料庫,並塞入文章吧!

October 3, 2019

30天成爲Laravel萌新(第16天) - 資料庫管理工具(上)‧使用phpMyAdmin

今天,要用 phpMyAdmin 來看看昨天建立的資料表,我會順面補充一些之前做的設定。

查看Docker容器狀態

我會假設使用的是laradock,如果你使用的是XAMPP可能會簡單一些。

那麼,首先先看看運行的容器:

docker-compose ps

我們之前有啟動phpMyAdmin的服務,那麼輸出應該包含下面內容:

           Name                          Command               State                    Ports
---------------------------------------------------------------------------------------------------------------
laradock_phpmyadmin_1         /docker-entrypoint.sh apac ...   Up      0.0.0.0:8080->80/tcp

其中注意到 Ports 的部份,這意思是綁定(bind)電腦8080端口到容器的80端口。所以我們可以透過瀏覽 http://localhost:8080 來使用phpMyAdmin。

登入phpMyAdmin

這裡伺服器要輸入mariadb,帳號和密碼分別是:default和secret。如果你是啟用MySQL的話,伺服器就改成mysql。

phpMyAdmin Login Page

October 2, 2019

30天成爲Laravel萌新(第15天) - 建立資料庫Migration

要把文章存入資料庫?那麼對於傳統關聯式資料庫,需要先建立資料表Schema。你可以透過明天要介紹的資料庫管理工具,也可以透過今天來來說的使用 Artisan 建立資料表。

使用Artisan建立資料表

Artisan可以快速的建立控制器基本模板,同樣也可以建立資料庫相關模板:

artisan make:migration create_blog_post_table

透過上面命令,會在database/migrations新增相關檔案,檔名由<日期><時間>_create_blog_post_table組成。前面時間相關的在某些情況下會很重要,後面介紹的 artiasn 命令會依序建立資料表,所以如果資料表有相互依賴就有影像。現在我們開啟該檔案看看:

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateBlogPostTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blog_post', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('blog_post');
    }
}

其中最重要兩行:

$table->bigIncrements('id');
$table->timestamps();
October 1, 2019

30天成爲Laravel萌新(第14天) - 控制器(Controller)

回頭看看,看,怎麼Route的內容變得這麼長阿!仔細一看,還做了路由以外的事情,像是修改變數內容等等。是不是該把Hangle Function獨立出來?有什麼辦法?Laravel的控制器(Controller)可以幫助。

新增Controller

我們可以透過Artisan來快速新增一個標準的控制器(Controller):

artisan make:controller Blog/ExamplePostController

在app/Http/Controllers/Blog資料夾下會多一個ExamplePostController.php的檔案,內容大致如下:

<?php

namespace App\Http\Controllers\Blog;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class ExamplePostController extends Controller
{
    //
}

Blog這個新建立的資料夾,實際對應於昨日group路由當中的'namespace' => 'Blog'參數。並且在上面生成的程式中use App\Http\Controllers\Controller;,也是因為這個新建立的模組是在App\Http\Controllers\Blog底下的命名空間,因此要引入使用App\Http\Controllers\Controller。關於PHP的模組系統,就不多做解釋了,只是相關的Blog字串如不想使用,要做相對應的調整。

之後會改用資源控制器。這邊單純要做個對照,之後可以刪除不使用。

September 30, 2019

30天成爲Laravel萌新(第13天)- 簡易Blog頁面(下)

昨天利用亂數文章(Lorem ipsum)產生了@section('body')的預設內容。今天,要在Route把變數$content設成類似的亂數文章。

中文亂數文章

Lorem最多的資源大多還是英文,不過中文也有不少資源可以使用。此外,有些情況使用設計好的預設文字可能會更適合。今天,就只是想來用用而已XD。透過亂數假文產生器 Chinese Lorem Ipsum可以產生中文亂數文章,也可以用於產生標題。現在來簡單的把$title設成日的及度加機子魚年。$content設成:

身主一?是字對一日國地包最中感行物評民活於力!進上城大、很會英我:的樣基覺型家海當期是著:算像系大心樣十因天特企以加想點以後許,念落是客我什在白實文種運明市下只能當作力美間要速包企以統推多,收什火投,顧外。

指的司之身鄉然說小人發,我雜人轉英臺區實說麼後男會友大,阿產效第續明造識竟自沒大上有。到全藝地港為精件連需,過聯排可然更友我後們時?一風了組麼兒比、方來出科!車卻讀力風人父資國個年愛成故作自功:原用中有、港看車我高心打!親北受活女微特利動果的無何片經物……象巴約得?色時值壓五……過點子得提圖陽可計,來麼室拉的合天!人觀難一手樹以防黃精也需被那部我冷不不連痛以哥多人事營件、目熱而夫加……紀味曾蘭不好空農後電題熱頭國:戲識者是相大覺光,雙命影心可那?前區孩增,物時。

產明物力區有王真?院見很原,經總萬官方,生回。

海在康代界積實兒變:她哥出邊。善快寶,死面大,紀著資小成去資戲面和的發行的止的接來,南生不能野:政生企性班們教求給學就得受再球也生克決的金長冷成。

標題、文章內容當然還無意義wwww

調整排版

恩~沒分段了?這是因為HTML會忽略空白,如過要換行還需要使用<br/>。當然你可以在變數內容這麼加,然後在模板將顯示的部份改為{!! $content !!},或是也可以用<pre>來做,像是把@section('body')改成:

@section('body')
    <h1>{{$title}}</h1>
    <pre>{{$content}}</pre>
@endsection
  • ««
  • «
  • 1
  • 2
  • 3
  •  … 
  • 28
  • 29
  • 30
  •  … 
  • 33
  • »
  • »»
© 又LAG隨性筆記 2023