国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP To Go 轉型手記 (終)

leanxi / 2700人閱讀

摘要:本章以實戰方式來對比以下與的寫法。寫這類的文章也遭到了很多質疑,作為一個手記去發布僅僅為了讓想去學習其他語言的朋友了對新語言的一個認識,不是去對比其不同。

前言

作為一名PHP程序員,我感到榮幸。但在時代不斷的變遷中,要具備足夠的知識才可生存。

那就從Go語言學起把。

希望看到本篇文章的你可以對Go有一個基本的認識。本系列文章與我自己學習Go語言的方式去描述。以PHP代碼與Go代碼的對比加以區分理解。

這是轉型手記的最后一章,在往下沒辦法再去寫了,需要詳細的看書去了解。本章以實戰方式來對比以下PHP與Golang的寫法。

這里使用Laravel與Beego(基于Go開發的MVC框架)來演示

安裝

Laravel

// 通過composer直接安裝,簡單易用
composer global require "laravel/installer"
// 創建一個項目
laravel new blog

Beego

// go自身就有包管理
go get github.com/astaxie/beego
// 創建項目也非常簡單
bee api blog
目錄結構

Laravel

// laravel 的結構這里就不再闡述
| - app
| - bootstrap
| - config
| - database
| - public
| - resources
| - routes
| - storage
| - tests
| - vendor

Beego

// 顯而易見,beego并沒有laravel那樣過度設計(雖然過度設計并非指目錄,
// 但以看目錄就知道beego真的沒有太多東西)
blog
├── conf
│   └── app.conf
├── controllers
│   └── object.go
│   └── user.go
├── docs
│   └── doc.go
├── main.go
├── models
│   └── object.go
│   └── user.go
├── routers
│   └── router.go
└── tests
    └── default_test.go
路由

Laravel

Route::get("/user", "UserController@index");

Beego

// 與laravel的使用方式差不多
// 這里為了統一,路由直接綁定控制器方法只有下列這種
// beego 還提供了注解方式 , 詳情見 https://beego.me/docs/mvc/controller/router.md
beego.Router("/user",&UserController{},"get:index")
模型 (Model)

Laravel


Beego

// Beego通過結構體名稱作為表名,并且orm操作的所有字段都必須提前聲明
package models

import (
    "github.com/astaxie/beego/orm"
)
type User struct {
    Id       int    `json:"id"`
    Tel      string `json:"tel"`
    Password string `json:"password"`
    Status   string `json:"status"`
}

func init() {
    orm.RegisterModel(new(User))
}
控制器

Laravel

 User::findOrFail($id)]);
    }
}

Beego

package controllers

import (
    "github.com/astaxie/beego"
    "github.com/astaxie/beego/orm"
)

// 這里相當于繼承了父類 beegoController
type MemberController struct {
    beego.Controller
}


func (c *CityController) Index() {
    var results []orm.Params

    orm.NewOrm().QueryTable("member").
        Values(&results)

    c.Data["json"] = results
    c.ServeJSON()
}
總結

學Go有1個多月的時間了。寫這類的文章也遭到了很多質疑,作為一個手記去發布僅僅為了讓想去學習其他語言的朋友了對新語言的一個認識,不是去對比其不同。而找其語法相似點。

語言只是工具,希望各位PHP工程師不要僅限于去使用PHP,這一年看到很多寫PHP程序員未來之路一類的文章,但從未提出要去學習其他語言。

不要將自己圈在一個領域,不要做井底之蛙。

致謝

感謝你看到這里,希望本篇文章可以幫到你。謝謝

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29656.html

相關文章

  • PHP To Go 轉型手記 (三)

    摘要:前言作為一名程序員我感到榮幸。但在時代不斷的變遷中,要具備足夠的知識才可生存。本系列文章與我自己學習語言的方式去描述。以代碼與代碼的對比加以區分理解。沒有類的概念,本章在語法使用上來對比與之間的區別。 showImg(https://segmentfault.com/img/bVbi4ot?w=800&h=533); 前言 作為一名PHP程序員,我感到榮幸。但在時代不斷的變遷中,要具備...

    linkin 評論0 收藏0
  • PHP To Go 轉型手記 (一)

    摘要:前言作為一名程序員我感到榮幸。但在時代不斷的變遷中,要具備足夠的知識才可生存。那就從語言學起把。希望看到本篇文章的你可以對有一個基本的認識。本系列文章與我自己學習語言的方式去描述。以代碼與代碼的對比加以區分理解。 showImg(https://segmentfault.com/img/bVbiKHc?w=1500&h=1000); 前言 作為一名PHP程序員,我感到榮幸。但在時代不斷...

    yexiaobai 評論0 收藏0
  • PHP To Go 轉型手記 (二)

    摘要:前言作為一名程序員我感到榮幸。但在時代不斷的變遷中,要具備足夠的知識才可生存。那就從語言學起把。希望看到本篇文章的你可以對有一個基本的認識。本系列文章與我自己學習語言的方式去描述。以代碼與代碼的對比加以區分理解。 showImg(https://segmentfault.com/img/bVbiKHc?w=1500&h=1000); 前言 作為一名PHP程序員,我感到榮幸。但在時代不斷...

    hot_pot_Leo 評論0 收藏0
  • 【日常手記】之Laravel5.3

    摘要:個人網站最近剛寫了一個手機在線播放的電影站使用日常手記更新使用的的查詢作用域的本地作用域去自定義可復用的約束集合,方便鏈式調用什么是本地查詢作用域本地作用域允許我們定義通用的約束集合以便在應用中復用。 關于作者 程序開發人員,不拘泥于語言與技術,目前主要從事PHP和前端開發,使用Laravel和VueJs,App端使用Apicloud混合式開發。合適和夠用是最完美的追求。 個人網站:...

    kidsamong 評論0 收藏0

發表評論

0條評論

leanxi

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<