譯者 | 陳峻
如果您向任何經驗豐富的Web應用開發人員詢問,什么是他們首選的編程語言的話,他們的回答居多會提到PHP。的確,PHP是一種被廣泛使用的通用腳本語言,特別適用于Web開發,并且可以被嵌入到HTML中。
根據網站技術分析工具Builtwith的統計,目前有3,090,319個實時網站仍在使用著PHP。當然,在開發低延遲、高穩定性的大型項目時,開發人員往往傾向于使用某種框架。其中,Laravel和Yii是當前兩種針對PHP的優秀框架。它們在全球都有成熟的社區、以及大量的編程愛好者。下面,我為您全面比較Laravel和Yii,并和您討論如何根據具體項目在兩者中做出選擇。
到底什么是Laravel和Yii?
Laravel是一個簡單的PHP框架,經常被用于基于Web或Web應用的開發,最初是作為Codeigniter的更好替代品而創建的。它以支持MVC、協同ORM系統、可靠性、模塊化、以及簡單的編程規則而聞名。總的說來,Laravel框架具有如下關鍵特性:
全面支持DBMS:Yii框架支持PostgreSQL、MySQL、SQLite、Oracle、以及其他DBMS。
支持第三方模板引擎:Yii框架沒有內置的模板引擎支持,但是可以使用第三方的解決方案。
強大的知識庫:其官方文檔和豐富的教程可以幫助開發人員快速地找到大部分問題的答案。
自動化代碼生成:開發人員可以通過使用Gii的擴展,來自動生成代碼,從而顯著地加快編程的進程。
Laravel與Yii之間的不同之處
對比結果
原文鏈接:
https://dzone.com/articles/differences-between-laravel-and-yii
本文由高可用架構翻譯。技術原創及架構實踐文章,歡迎通過公眾號菜單「聯系我們」進行投稿。
見即所得,不是很熟悉這個詞嗎?所見即所得代表什么,你看到的就是你得到這通常意味著一個編輯應用程序使用,以說明正在編輯的內容將完全一樣的最終結果。與其他文本編輯器相比,“所見即所得” 文本編輯器非常友好。
它指已操作的軟件或應用程序所擁有的功能,以及它們具有的許多其他功能。在使用中,此文本編輯器不需要像其他文本編輯器中那樣編寫語法,因為它配備了圖標,只需要單擊將要使用并自動格式化的圖標之一即可。
此外,該文本編輯器還具有其他優勢,例如能夠顯示一頁文本,與圖形,電子表格集成,在一個文檔中顯示照片,自動更正,超媒體,超文本等等。下面是一些用于網頁的所見即所得文本編輯器:
CKEditor是一個HTML 文本編輯器,用于并旨在幫助您創建和管理內容布局。該文本編輯器中有許多完整的功能,如可以從Microsoft Word移動,還有額外的部件或工具,能夠拖動和下降圖片和上傳文件,以及更多。
TinyMCE是一個基于Javascript的獨立Web平臺,該文本編輯器根據LGPL許可作為開源應用程序發布。該文本編輯器旨在與JavaScript 庫(例如React,Vue.js,AngularJS)和內容管理系統(例如Joomla和WordPress)輕松集成。另外,一個文本編輯器它還具有許多完整功能,包括4個軟件包,其中Community是免費的,Premium,Pro和Enterprice是收費的。相對而言Community實際上非常完整,但是沒有上傳圖像的功能。
Summernote是一個非常簡單且免費的文本編輯器。該文本編輯器使用base64編碼,因此它不僅可以用于編輯文本,而且還可以直接上傳圖像,而無需進行任何圖像處理。該文本編輯器由jQuery和Bootstrap組成,這是一個簡單的UI,因此你可以更輕松地自定義外觀或添加和刪除工具欄。
Froala是HTML WYSIWYG 編輯器,它易于集成且易于使用,而無需鍵入大量代碼。此插件需要jQuery 1.11.0或更高版本以及Font Awesome 4.4.0。該插件提供了用于PHP,Node.JS,.NET,Java和Python的服務器端SDK。該插件有4種許可,分別是:單個網站許可,開發者許可,商業許可和OEM許可。這個插件還有一個帶有多個開發框架的連接器,例如:CakePHP,Joomla,Symfony,Yii,Django,Ruby on Rails,AngularJS,Meteor。
Redactor是一個內容編輯器,可提供流暢,整潔,靈活的設計,并為其用戶提供無限的支持。該內容編輯器與MODX緊密集成,提供簡單的用戶界面,并配有清晰易懂的圖標,調制解調器和功能。可以根據需要激活或停用可用的高級功能,以便它可以控制用戶活動。
Quilljs是100%免費的文本編輯器,它看起來簡單而優雅。該文本編輯器提供了一種配置,你可以在其中自定義外觀以及添加和刪除工具欄。該文本編輯器也受API驅動,因此可以使用JSON作為其輸入和輸出來始終如一地確定性地工作。此外,此文本編輯器是跨平臺的,因此它支持臺式機,平板電腦或移動設備上的所有現代瀏覽器。
Yii框架學習】
介紹、安裝部署框架、商城模板與yii結合、MVC
Php框架:cakephp CI(codeIgniter) symfony TP(thinkphp) zendframework(官方) Yii 等等,還有許多叫不上名字的框架。
Yii:高性能框架、代碼重用性發揮到了極致、惰性加載框架、速度非常快
緩存、登錄組件、助手(小物件,靈活創建表單,常見html代碼)、日志組件等等。
適合開發大型web應用系統
【yii框架部署】
我們需要創建自己的應用系統
Cms 內容管理系統
Shop商城系統
Office辦公系統
Crm客戶關系管理系統
開始訪問我們的應用系統。
【yii在什么地方用的多】
框架:dedecms ecshop crm
Dedecms是內容管理系統的框架
Ecshop是做商城網站的框架
Crm是做客戶關系管理系統的框架
以上3個框架都是“專門”針對具體領域的框架,這樣的框架不靈活,死板。
Yii框架是通用的框架,一般適合客戶需求比較靈活、比較花樣多,比較復雜的地方。
Yii框架設計模式是主流MVC。
Yii框架是一個純OOP面向對象框架。
【商城模板與Yii框架結合】
Yii訪問需要走路由,設置好路由就會找到對應的控制器和方法
路由:http://web.0507shop.com/index.php?r=site/index
將樣式、圖片、js靜態資源集成到系統里邊
Css樣式:/assets/default/css/
圖片:/assets/default/img
Js: /assets/js/
靜態資源目錄統一放入系統常量里邊,方便調用。
/protected/config/constants.php
用戶登錄模板與Yii框架整合:
1. 創建UserController控制器
2. 創建視圖views/user/login.php
3. 控制器調用視圖$this->renderPatial();
4. 引入css和圖片,將樣式目錄與圖片目錄放入常量,統一調用。
【路由】
在框架里邊我們通過路由獲得控制器和方法
我們有了控制器的方法,就可以進一步與視圖或模型進行交互
http://網址/index.php?r=控制器/方法
【商城其他頁面與Yii結合】
事件
Ctrl+j
今晚主要任務 : 商城前臺模板 與 Yii結合
1, Yii框架部署起來(根據自己情況搭建虛擬主機,也可以使用localhost)
2, 控制器和視圖理解好
控制器:UserController (名字Controller)
方法: actionLogin (action名字)
Views/ 下邊有許多目錄,目錄原則是:每個控制器名字在views下都有對應名字的目錄存在,里邊存放具體模板文件
3. 理解好常量文件constant.php(樣式目錄和圖片目錄定義)
4. 商城網站與Yii框架結合制作出效果(首頁、登錄、注冊、商品列表、商品詳細)
Controller控制器
view視圖
Model模型
MVC設計模式
*請認真填寫需求信息,我們會在24小時內與您取得聯系。