[麥先生]初學Laravel框架與ThinkPHP框架的不同(2)

来源:http://www.cnblogs.com/maixiansheng/archive/2016/05/28/5538442.html
-Advertisement-
Play Games

在經過了一段時間的開發後,我對Laravel框架的認識又在逐步的加深,對於這個世界占有量NO.1的框架... 我想說,我已經在逐步的感受到他的恐怖之處... 一.建表--Laravel在資料庫建表上有自己獨立內置的結構,可以完全不用藉助原生SQL語句或者SQLyogEnt、Navicat 這樣的建表 ...


      在經過了一段時間的開發後,我對Laravel框架的認識又在逐步的加深,對於這個世界占有量NO.1的框架...  我想說,我已經在逐步的感受到他的恐怖之處...

   一.建表--Laravel在資料庫建表上有自己獨立內置的結構,可以完全不用藉助原生SQL語句或者SQLyogEnt、Navicat 這樣的建表工具,進行資料庫的建立,增刪改查,和數據交互;我想這可能是它牢牢占據NO.1的一大靚點;在ThinkPHP中則需要我們藉助SQL語句或者建表工具去逐步完善數據

    1.首先我們需要建立模型:我用的是gitbash,gitbash是Windows下的命令工具,基於msys GNU環境,有git分散式版本控制工具,主要應用於git.但是在Laravel里也可以直接使用     php artisan  make:model Models/GoodsModel -m 完成模型的創建和建表結構的創建(/database/migrations)

    

    2.向goods數據表填充數據,要註意數據的類型是嚴格區分的,並且一定要加..編程之友:註釋君;添加完後使用php artisan migrate命令完成表的創建;可以自行YY下 多表同時創建的那種"還有誰"的感覺;

Schema::create('goods', function (Blueprint $table) {
$table->increments('id')->comment('商品主鍵');
$table->string('title')->comment('商品的標題');

    

    3.假設某個欄位不符合要求或者需要添加欄位怎麼辦,無須擔心,從github中pull下項目後在數據表裡直接修改  只需要用php artisan migrate:refresh

    ,然後今天的工作結束後push到github庫里,其他小伙伴在更新後就可以直接使用新的數據表結構,而且還可以看到更改記錄...這是開發者的一大福音~~

  二.ORM---在介紹建表時已經使用了創建模型的命令,php artisan make:model  XXX;Laravel里模型是對面向對象開發思想最好的詮釋,讓對象幫我們完成需求;

    摘自5.1手冊:(Laravel 的 Eloquent ORM 提供了漂亮、簡潔的 ActiveRecord 實現來和資料庫進行交互。每個資料庫表都有一個對應的「模型」可用來跟數據表進行交互。你可以通過模型查找數據表內的數據,以及將記錄添加到數據表中。)

    本人在實際使用中也實實在在的感受到了通過創造模型對數據表操作帶來的便利,譬如批量賦值,跨表查詢,刪除模型和軟刪除,模型關聯,當然這些在TP框架中也可以實現,這一點屬於仁者見仁智者見智;根據個人喜好而定

  三:session的用法

    1.ThinkPHP對Session操作進行了封裝,並且無需引入就可以使用,Session的啟動會在應用初始化的時候自動執行,所以無需手動使用Session::start() 來啟動Session。
            使用Session類操作和普通方式調用$_SESSION來操作並沒有本質不同,只是Session類很多參數可以根據項目配置來靈活設置,最常用的操作方法示例: // 檢測Session變數是否存在:Session::is_set('name');  // 給Session變數賦值:Session::set('name','value');// 獲取Session變數:Session::get('name');
    2.Laravel中Session的常用方法有
    $request->session()->get('key');//獲取session里的某個鍵名
    $request->session()->set('key','default');//設定一個預設值,當指定鍵名不存在便返回預設值
    $request->session()->all()返回所有數據
    session('k'=>$v)寫入session保存數據;
    以及快閃記憶體數據session()->flash();和保留特定數據->keep(['','']);

    也可以自定義session驅動



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近我一直在編寫適用於Windows 10商店的游戲.這款游戲比較怕玩家用修改器改金錢,因為這種修改會導致某些內購失效並且損害公平性。於是我把自己見過的三種反修改器的方法給網友們介紹一下。 首先說明一下我總結的防止游戲作弊的理念: 1.預防修改,防患於未然,讓可用的修改手段減少。 比如說,你讓你的U ...
  • WPF的中模板有三種:ControlTemplate、ItemsPanelTemplate、DataTemplate,他們繼承抽象類FrameworkTemplate,下麵是它們的繼承關係: Windows Presentation Foundation (WPF) 中的控制項具有 ControlTe... ...
  • 使用使用Aspose插件對Excel文檔進行導入導出操作 使用前請先下載Aspose插件引用 Excel導入: 前臺使用file標簽獲取,submit方式提交。 後臺接收: ...
  • 聲明:本系列為原創,分享本人現用框架,未經本人同意,禁止轉載!http://yuangang.cnblogs.com 希望大家好好一步一步做,所有的技術和項目,都毫無保留的提供,希望大家能自己跟著做一套,還有,請大家放心,只要大家喜歡,有人需要,絕對不會爛尾,我會堅持寫完~ 如果你感覺文章有幫助,點 ...
  • 元數據,就是C#中封裝的一些類,無法修改.類成員的特性被稱為元數據中的註釋. 1、什麼是特性 (1)屬性與特性的區別 屬性(Property):屬性是面向對象思想里所說的封裝在類裡面的數據欄位,Get,Set方法。 特性(Attribute): 官方解釋:特性是給指定的某一聲明的一則附加的聲明性信息 ...
  • qpython是一個能讓安卓手機運行和編寫python的APP,到網上下載APK安裝或者在GOOGLE PLAY搜索安裝即可。 安裝之後你可以你手機跑自己的python程式。 qpython有兩個大版本的: qpython對應的是python 2.X qpython3對應的是python 3.X 當 ...
  • Session是一個域 作用範圍:當前會話範圍 生命周期:當程式第一次調用request.getSession()創建出客戶端的session對象,30分鐘沒有操作認為超時,這個可以在web.xml中進行配置 調用session.nvalidate()方法銷毀session 伺服器非正常關閉時銷毀s ...
  • 首先參考 http://jingyan.baidu.com/article/456c463b99f4370a583144a8.html 創建一個項目,照著上面教程到最後一步的時候,系統自動生成entity類,dao類,sessionfactory類和對應的配置文件 在下麵新建一個Test1.java ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...