先进、易用、强大、优雅的CMS系统
今天我们要介绍的主角是OctoberCMS,它是一款基于Laravel这个PHP开发框架的CMS系统。我猜你可能完全没有听说过它,如果你是个PHPer,可能会听说过WordPress、Drupal、Joomla等等国外知名CMS,当然还有国内老牌的帝国、Dede,新兴的禅知CMS等。如果你是个Rubist,想必听说过RefineryCMS等。如果你是Noder,也有一些CMS系统,如KeystoneJS,Ghost可以勉强算一个。当然,即使在Erlang界也有它的高性能CMS系统Zotonic。
各种语言各种框架的CMS系统如此繁多,有的适合几个页面的小站点,有的适合上万页面的大型新闻站,有的适合公司企业展示,有的插件丰富,有的易于扩展,有的代码似浆糊,有的性能处处瓶颈。在这么多的CMS系统中,其实最为常用的无非就那么几个,WordPress、Drupal。抛开一些国内新闻站点使用的久经考验的国产CMS不说,WordPress最大的优点在于插件丰富,几乎你想要的任何功能都有人以插件的形式提供,主流的云服务WordPress都有它们的插件。但最大的缺点也恰恰是这个,由于历史包袱太重,核心代码无法轻易的修改,随便一弄就是数以千计的插件无法使用。打个比方,就像Windows操作系统,WinXP升级到Win7,多少软件就不能用了,崩溃了,现在Win7升级到Win10,各种游戏玩家都在纷纷骂娘。
Drupal VS Wordpress
Drupal像是WordPress的一面镜子,几乎处处相反。首先Drupal在安全性、可定制性、性能等方面都要远超WordPress,但是后果就是Drupal的易用性远不及WordPress。想要使用Drupal,首先需要了解一大堆Drupal的概念,更别提开发了,都得请专业人员,难怪别人都说Drupal更像是一个开发框架而非CMS系统,相比WordPress的各种钩子插件,Drupal的开发门槛显然要高出许多。
其实,从Themeforest这个模板出售站点也可以看出各个CMS系统的流行程度,WordPress单独占一个分类,里面有各种类型CMS的模板,而其他的CMS如Drupal和Joomla等,则归为CMS一类。Drupal为了解决开发难的问题,在Drupal8中使用了Symfony这款PHP框架,原因是开发者可以更好的遵循MVC的开发模式,并且能使用许多Symfony现成的类库。
The PHP Framework For Web Artisans
关于Laravel和Symfony的比较可以看以下这些文章:[1] 最好的 PHP 框架是什么?为什么?[2] Symfony2到底比Laravel差在哪里?
简单的说,Symfony功能强大,企业级,但是学习成本高,Laravel借鉴了Symfony,功能强大并且更加易用。所以Drupal之于OctoberCMS就像Symfony之于Laravel。Drupal8功能强大,能够实现你任何想要干的事,但是对于中小站点来说就是大炮打蚊子,而OctoberCMS关注了CMS的核心功能,使用和扩展也不复杂。
下面,我们来正式介绍OctoberCMS了!
问:Github上stars数前三的PHP CMS系统有哪些?答1:WordPress! 对!它有7500个stars,但是它在Github上只是SVN同步源。答2:Drupal! 对!它排第三,有2250个stars。答3:纳尼?那是谁?答4:OctoberCMS!对!它有4600个stars,实际上的第二,名义上的第一。
那么一个CMS系统至少需要哪些功能或特性呢?
- 文章发布 - Wordpress的Blog Drupal的node
- 页面发布 - Wordpress的Page Drupal的node
- 用户系统 - 用户注册/登录
- 权限系统 - 订阅者/编辑/管理员
那么一个比较完备的CMS系统还需要哪些功能或特性呢?
- 插件系统 - 丰富的插件
- 模板系统 - 可定制的模板或主题
- 缓存系统 - 轻松地配置缓存
那么一个易于使用的CMS系统需要哪些功能或特性呢?
- 安装部署方便 - Docker image
- 支持内建编辑 - 内部修改代码
- 容易定制 - 容易写插件
好了,我们来「快速上手」吧!
1. 安装Docker,OctoberCMS Docker Image
如何安装Docker,DaoCloud可以参见这篇文章:使用DaoCloud安装Docker和镜像
然后使用dragontek/octobercms这个镜像。
$ dao pull dragontek/octobercms
OctoberCMS支持多种数据库,这里以PostgreSQL为例,我们也下载好这个镜像
$ dao pull postgres
有了这两个镜像,我们就可以快速部署了
$ docker run --name some-postgres -e POSTGRES_PASSWORD=example -d postgres$ docker run --name some-october --link some-postgres:postgres -d dragontek/octobercms
2. 后台一览
我们可以通过localhost/backend登录后台,初始用户名密码均为admin,当然,如果你运行Docker镜像时进行了修改的话,使用你-e环境变量设置的值。不过,运行后登录后台再进行修改也是完全可以滴。
Admin Backend
我们可以点击右上角的Admin Person,在「后台设置」中设置语言为「简体中文」。然后我们可以看到左侧菜单栏:
Backend Sidebar
在「更新」中,我们可以查看现在安装的插件和主题,并且可以搜索新的插件和主题。
Paste_Image.png
3. 博客和页面
页面设置,可以看到我们能够直接在页面中编辑代码哦。这里的代码编辑器可不容小觑,可不是WordPress那样的白板,这里的编辑器基本是一个小型的Sublime Text,支持多选,列编辑,自动缩进,Emmet般的HTML/CSS自动补全,功能强大到爆炸!
当然,对于固定模板的页面,October也提供了类似WordPress那样输入内容的页面,这里的Pages静态页面插件也提供了静态菜单Menus的制作。
关于博客系统,我们只需要在后台插件安装页面搜索blog,然后点击安装即可。博客的使用非常简单,之后会详细讲述,你可以自己先试试哟。
4. 用户登录和注册
在用户中心中,我们可以使用「组件」中的「帐号」来添加用户登录和注册页面。
Paste_Image.png
添加后我们还可以修改成想要的样式,比如由tab分隔成两个子页面。
用户中心页面
登录注册页面
用户系统后台
在layout模板中,我们都可以添加组件中的session模块,来获取登录后的用户信息。
5. 媒体
点击顶部导航栏的媒体,可以看到October支持丰富的媒体属性,如最常见的图片、视频、音频、文档等。
总体来说,我们可以看到OctoberCMS的后台功能相当强大,并且可以在后台进行代码的修改。事实上,如果是常见的功能,我们完全不用编写任何代码,只需要使用正确的插件和正确的配置即可。
What's NEXT ?
这篇文章只是对October进行了非常简单的讲解,之后会针对OctoberCMS一些最常用,功能最为强大的插件进行详细讲解,千万别错过了哟!
你也可以在 https://octobercms.com/resources 中的 Screencasts 先行一瞥October的强大之处。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。
