13 REST服務(wù)準(zhǔn)備

2018-02-24 15:53 更新

REST服務(wù)準(zhǔn)備

13.1 Laravel

Laravel是一套簡(jiǎn)潔、優(yōu)雅的PHP Web開發(fā)框架(PHP Web Framework)。它可以讓你從面條一樣雜亂的代碼中解脫出來(lái);它可以幫你構(gòu)建一個(gè)完美的網(wǎng)絡(luò)APP,而且每行代碼都可以簡(jiǎn)潔、富于表達(dá)力。

  • RESTful 路由: 通過(guò)簡(jiǎn)單的閉包就能響應(yīng)HTTP請(qǐng)求。幫你快速開始構(gòu)建非凡的應(yīng)用。
  • 強(qiáng)大的數(shù)據(jù)操縱能力: Laravel自帶了強(qiáng)大的Eloquent ORM 和遷移工具。能夠完美的與MySQL、Postgres、SQL Server 和 SQLite協(xié)同工作。
  • 優(yōu)雅的模版引擎: PHP代碼或輕量級(jí)的Blade模版引擎都可無(wú)縫融合。Blade模版可以繼承,并且擁有極快的解析速度。相信你會(huì)喜歡它的。
  • 為明天做準(zhǔn)備: 構(gòu)建大型的企業(yè)級(jí)應(yīng)用或者只是提供簡(jiǎn)單的JSON API;書寫強(qiáng)大的控制器或輕巧的RESTful路由,Laravel適應(yīng)所有級(jí)別的開發(fā)工作。
  • 可靠的基石: Laravel 的基石是數(shù)個(gè)Symfony組件,這些經(jīng)過(guò)千錘百煉、可靠的組件為你的應(yīng)用提供堅(jiān)實(shí)的基礎(chǔ)。
  • 基于Composer管理器: Composer 是一套幫你管理第三方擴(kuò)展包的工具。能夠讓你迅速在 Packagist 中找到需要的擴(kuò)展包。
  • 強(qiáng)大的社區(qū)支持: 無(wú)論你是一個(gè)PHP新手還是經(jīng)驗(yàn)豐富的架構(gòu)師,都能在社區(qū)中找到需要的知識(shí)。你可以在IRC中討論Idea,或者在論壇中發(fā)布問(wèn)題。
  • 測(cè)試、重構(gòu): Laravel 從開始就將測(cè)試作為重點(diǎn)功能。我們提供了靈活的IoC容器,集成了PHPUnit 測(cè)試工具。不用擔(dān)心,這些都很容易上手。

13.1.1 為什么是 Laravel

  • 因?yàn)閭€(gè)人喜愛(ài),你也可以用 Ruby On Rails來(lái)搭建這樣一個(gè)功能,或者是Java。
  • PHP在我的服務(wù)器上運(yùn)行得挺不錯(cuò)的,而且我又不需要重新去寫配置那些配置。
    • Laravel 可以簡(jiǎn)單的開發(fā)我們所需要的功能,換句話說(shuō)他是 PHP 世界的 Ruby On Rails。

這里不會(huì)再重述之前的問(wèn)題,這里只是將需要的步驟一個(gè)個(gè)寫下來(lái),然后丟到這里好好說(shuō)一下。至于RESTful是什么,前面已經(jīng)介紹了,就不再重復(fù)了。那么下面,我們就用Laravel來(lái)搭建一個(gè)平臺(tái)給物聯(lián)網(wǎng)用的。

13.2 安裝 Laravel

13.2.1 GNU/Linux安裝Composer

GNU/Linux Ubuntu/OpenSUSE下可以執(zhí)行

$ curl -sS https://getcomposer.org/installer | php

13.2.1.1 Windows安裝Composer

請(qǐng)直接下載

Composer-Setup

13.2.1.2 Mac OS

1.安裝Composer

brew install homebrew/php/composer

2.安裝Laravel

composer global require "laravel/installer=~1.1"

3.創(chuàng)建Laravel工程

composer create-project laravel/laravel your-project-name --prefer-dist

13.2.1.3 Mac OS

1.下載laravel.phar

wget http://laravel.com/laravel.phar

2.重命名

mv laravel.phar laravel

3.移動(dòng)到bin中

sudo mv laravel /usr/local/bin

4.創(chuàng)建項(xiàng)目

laravel new blog

13.3 MySQL

13.3.1 安裝MySQL

出于某些原因,我建議用MariaDB替換MySQL,如果你"真正"需要mysql,將mariadb替換為mysql

ps: 在下文中我會(huì)繼續(xù)用MySQL,而不是MariaDB,MairaDB是MySQL的一個(gè)分支,真正的開源分支。

Ubuntu/Debian/Mint

$ sudo apt-get install mariadb-server

Fedora/Centos

$ sudo yum install mariadb-server

openSUSE

$ sudo zypper install mariadb-server

Mac OS

$ brew install mariadb

13.3.2 配置MySQL

修改database.php

app/config/database.php

要修改的就是這個(gè)

'mysql' => array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'iot',
    'username'  => 'root',
    'password'  => '940217',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),

如果你已經(jīng)有phpmyadmin,似乎對(duì)你來(lái)說(shuō)已經(jīng)很簡(jiǎn)單了,如果沒(méi)有的話,就直接用

$ mysql -uroot -p

來(lái)創(chuàng)建一個(gè)新的

CREATE DATABASE IF NOT EXISTS iot default charset utf8 COLLATE utf8_general_ci;

數(shù)據(jù)庫(kù)的目的在于存儲(chǔ)數(shù)據(jù)等等的閑話這里就不多說(shuō)了,創(chuàng)建一個(gè)RESTful的目的在于產(chǎn)生下面的JSON格式數(shù)據(jù),以便于我們?cè)贏ndroid、Java、Python、jQuery等語(yǔ)言框架或者平臺(tái)上可以調(diào)用,最主要的是可以直接用Ajax來(lái)產(chǎn)生更炫目的效果。

{
"id": 1,
"temperature": 14,
"sensors1": 12,
"sensors2": 12,
"led1": 0
}
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)