php項目實戰:代碼講解之發布主題消息

2020-12-23 中原說教育

為了方便大家更快了解PHP的的代碼編寫,本文講義實際代碼注釋的形式,更直觀的顯示PHP代碼示怎麼一回事!

選擇php原因

本次的代碼實例之準備在一個app中增加一個接口,該接口的功能是在app中發布一條主題,就和我們平時發布朋友圈或者寫一篇文章發表差不多。下面就一起來看看這樣的代碼如何寫吧

public function actionEdit() //發布主題消息

{

$result = array(

"code" => 0,

"msg" => "success"

);//定義$result數組變量,並將其初始化為$result["code"]=0,$result["msg"]="success"

$input = \Yii::$app->request->post('form');//定義$input變量,該變量時通過post方式獲取form的值

if (isset($input["id"])) {

$tid = $input["id"];

$topic = Topic::findOne(["id" => $tid]);

}//如果form方框中的id之不為空(已經設置),那麼將獲取到的id值賦值給$tid變量,並按照該ID值在topic資料庫中查找到對應的Id並賦值給$topic

if (!isset($input["id"]) || !$topic ) {

$topic = new Topic();

}//如果輸入的id值為空,或者在topic資料庫中找不到對應的id值,那麼久按照TOPIC資料庫的格式新建一個相應的id,存放到$topic變量中

$topic->attributes = $input;//將輸入的內容($topic)存放到topic屬性中。

$topic->user_id = $this->user->id;//將當前的用戶id存放到topic的用戶id中。

if ($topic->save())

相關焦點

  • php項目實戰:代碼講解之上下架某條主題
    本節我們將重點介紹在php項目實戰中,如何上下架某條主題。需要注意的是,在完成這些代碼之前,我們需要先建立對應的資料庫,設置對應的伺服器,這部分內容在之前的資料庫內容一節中有介紹,如果有疑問的話可以留言討論。
  • php項目實戰:代碼講解之訂單列表問題
    現在網際網路購物越來越受歡迎,那麼,你知道app中伺服器端的商品列表代碼是如何實現嗎?本文將通過實例的方式介紹app中是如何將對應的商品列出來的嗎php詳細的代碼內容如下:public function actionList()
  • polarphp 0.0.1 alpha 發布:全新 PHP 運行時環境
    polarphp 項目介紹polarphp是一個全新的PHP語言的運行時環境,基於目前最新的zend virtual machine進行打造,支持最新的語言規範,同時提供了自己的運行時標準庫 (libpdk)。
  • PHP單元測試利器:PHPUNIT深入用法(二)
    【IT168 技術】在上一篇PHP單元測試利器:PHPUNIT初探文章中,我們對phpunit有了一個初步的認識,在本文中將繼續深入講解下phpunit中的一些用法。
  • PHP開發必備 PHP模版引擎Dwoo深入學習
    </html>  現在,假設你的一些頁面需要使用水平導航條,你只需要繼承基類模版頁即可,並且可以重新定義導航條的樣式,如下代碼,我們把這個代碼定義為child.tpl:include 'dwooAutoload.php';
  • PHP開發必備 一步步學PHP模版引擎Dwoo
    然而,假如你的項目不是太大而沒使用這些框架時,則可以選用一些開源的PHP模版引擎來實現頁面和邏輯的分離,目前比較著名的有Smarty。本文將介紹另一款新興的PHP模版引擎Dwoo,它同樣有很多優點,值得讀者去學習。  一、安裝Dwoo  首先到Dwoo的官方網站下載(http://www.dwoo.org)最新的版本1.1.7。
  • Semgrep代碼靜態分析:從入門到實戰xss掃描
    Semgrep使用代碼的標準表達進行模式匹配,而無需複雜的查詢或者正則。可用於在DevSecOps各個階段:代碼編寫,代碼提交或者CI運行時發現Bug和漏洞。其精確的規則看起來就像要搜索的代碼,無需遍歷抽象語法樹或與正則表達式死扛。與傳統的正則表達式(和傳統的grep)不同,它可以找到遞歸模式。這使其特別有用,可以作為學習查找任何語言模式的工具。
  • 直接拿來用,九個超實用的PHP代碼片段(二)
    每位程式設計師和開發者都喜歡討論他們最愛的代碼片段,尤其是當PHP開發者花費數個小時為網頁編碼或創建應用時,他們更知道這些代碼的重要性。為了節約編碼時間,筆者收集了一些較為實用的代碼片段,幫助開發者提高工作效率。>>> 點擊查看PHP代碼片段(一)
  • OpenCenter Beta2 發布,php開源用戶管理系統
    讓php開發人員只需專注業務模塊的開發,從用戶和後臺管理中解放出來。
  • PHP圖片處理之圖片旋轉和圖片翻轉實例
    圖片的旋轉和翻轉也是Web項目中比較常見的功能,但這是兩個不同的概念,圖片的旋轉是按特定的角度來轉動圖片,而圖片的翻轉則是將圖片的內容按特定的方向對調
  • PHP QR Code生成二維碼
    二行代碼解決二維碼生成問題先來說說二維碼是神馬東西        二維條碼/二維碼(2-dimensional bar code)是用某種特定的幾何圖形按一定規律在平面
  • php反序列化漏洞
    如: 測試代碼:<?9D%AF%202019]easy_serialize_php打開題目是一段代碼<?>exception類對於錯誤消息沒有經過編碼,直接輸出到了網頁,便可以造成xssphar反序列化來自Secarma的安全研究員Sam Thomas發現了一種新的漏洞利用方式,可以在不使用php函數unserialize()的前提下,引起嚴重的php對象注入漏洞。
  • Mix PHP V2.2 發布,與 go-micro 深度集成的 PHP 微服務開發框架
    Mix Micro在很多 Swoole 框架自建微服務生態的時候,我認為微服務生態要是能與主流生態直接無縫通信可能更具有實用價值,Mix 從 V2.1 開始完全切換為單線程協程,這一特性非常適合微服務的打造,同時 Mix 一直都是 Go 風格框架,因此我決定將微服務融入 go-micro 生態,讓 Mix 框架用戶能與 go-micro 編寫的微服務直接代碼級無縫通信
  • PHP的Mcrypt加密擴展知識了解
    在 PHP7 之前,這個擴展是隨 PHP 安裝包一起內置發布的,但是現在新版本的 PHP 中已經沒有了,需要使用這個擴展的話我們需要單獨安裝,並且在使用的時候也是會報出過時的警告的。所以,我們學習使用這些函數的時候,就需要使用 @ 來抑制錯誤信息。當然,之所以會對這套擴展發出過時警告,是因為 PHP 更加推薦使用 OpenSSL 來處理類似的加密能力。
  • Peachpie 0.7.0 的新特性,.NET 平臺上的 PHP 編譯器
    Peachpie 0.7.0 發布了。Peachpie 是用於 .NET 平臺上的 PHP 編譯器。
  • NVIDIA 工程師罕見地為 Mesa 項目貢獻代碼
    近日,一位 NVIDIA 工程師為 Mesa 項目做出了他的第一次貢獻,成為自 2020 年以來第二位為 Mesa 項目貢獻代碼的 NVIDIA 工程師。
  • php中函數禁用繞過的原理與利用
    代碼實現如下:<?php symlink("abc/abc/abc/abc","tmplink"); symlink("tmplink/../../../..bypass disable function蟻劍項目倉庫中有一個各種disable的測試環境可以復現,需要環境的師傅可以選用蟻劍的環境。
  • c語言和PHP,學哪個好?
    而且程式語言之間是相通的,如果已經掌握了一種程式語言在很短的時間內就能切換到另外一種程式語言,畢竟編程思想和編程模式有著太多的相似之處,比如利用php編程編寫網絡的並發代碼,如果已經掌握了大部分的模式再切換到C語言去編程,雖然使用的工具有很大的差異,但是起碼從內心上有底,畢竟已經有成熟的案例可以對照學習的過程也能加快好幾倍,所以程式設計師的能力的強弱比較的不是掌握程式語言的數量關鍵還是實際編程中解決問題的能力
  • 有安全研究者混入了 PHP 8.0 開發組!
    來源 | 代碼審計(ID:white-hat-note)經歷了近半年的alpha版本測試後,PHP在2020年11月26號正式發布了8.0版本:https://www.php.net/releases/8.0/en.php今天我們就來瀏覽一下PHP 8.0中出現的主要特性,以及它給我們安全研究人員帶來的挑戰。
  • 乾貨|為大家總結了12個Python網絡爬蟲實戰項目,喜歡記得收藏!
    今天我們就來做些Python網絡爬蟲實戰項目,包含微信公號、豆瓣、知乎等網站爬蟲,大家也要自己動手練練看呀。1WechatSogou - 微信(http://lib.csdn.net/base/wechat)公眾號爬蟲。