miketwais

work up

初识laraval之hello word

 

两年前就看到QQ群里面在聊Laraval,怎么滴?又是一种新框架,学不过来了。

源于近期学习JAVA,接触到了Java Maven的概念和做法,感觉很方便,做了这样一个依赖关系来管理我们所需要的包,不用费尽心思去手动管理那些个包。

然而,细想看来,Java Maven和linux yum以及我们Laravel 中的composer也是殊途同归啊。都是一个概念。

这样说吧:对于一个开发者,我们可以回顾一下自己的开发经历,当我想开发一个发送邮件的模块,我需要去网上搜索一番找到phpmailer类库文件或者javamailer的jar包,然后手动引入,并在相应的地方使用。这个时候phpmailer就是我们开发的依赖,Composer的出现为了解决这种依赖关系,只需要稍作配置运行一个命令行命令就可以将依赖包自动安装到我们的项目中。Java的Maven也是这个概念。

下面我们安装一下Laravel框架,并实现一个hello word,当前环境是windows7

1.先安装composer工具

https://getcomposer.org/download/

 

安装的前提是需要有php环境,而且Laravel某些依赖对php的版本有要求,后面注意一点。

安装完后将composer的安装目录C:\ProgramData\ComposerSetup\bin;加入到系统环境变量,同时将php的安装目录也加入到环境变量的path里面

2.接下来我们安装Laravel框架

打开终端dos切换到我们的c:/xampp/htdocs/目录下,然后输入下面命令创建一个名为myLaravel的Laravel项目:

composer create-project laravel/laravel myLaravel

现在到c:/xampp/htdocs/目录下去看,发现生成了一个myLaravel项目。

 

3.Laravel之hello world

友情提示:Laravel的入口文件为public/index.php

找到app/http/route.php,在第17行添加下面代码:

Route::get('/hi', function()
{
 return "Hello word";
});

接着,我们访问下:htp://127.0.0.1/myLaravel/public/hi

-----------------------到此为止,hello word示例已经完成----------------------

上面讲到了,我们使用composer的目的是更好的管理依赖包,方便我们开发工作,那么我们就试着下如何进行管理?

这里有一个需求:我们需要在上面的项目中抓取网页内容

OK,上网搜一下,貌似有一个叫做phpquery的采集类库,我们到 composer的包管理端找一下,看是否有这样的包:

https://packagist.org/

 

 看起来挺多的,我们就选第一个吧。点进去看一下它具体名字和版本:

接着,我们要是用composer工具来下载依赖包phpquery,有两种方法:

   1.直接composer require electrolinux/phpquery ,这样composer会根据你本机的php版本给你适配合适的版本,并下载到你的vendor文件夹下

   2.修改根目录下的composer.json,在require里面添加:

    

    然后,dos切换到项目根目录下,执行composer update

    友情提示:这样有一个缺点:当你添加新目录的时候,会更新其他的依赖包,这样可能导致你的程序出现前面未出现过的错误。

  接下来,我们开始使用phpquery了:修改app/http/route.php为下面的样子:

只需 use \phpquery然后就可以使用了:

<?php
use \phpQuery;
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'WelcomeController@index');

Route::get('home', 'HomeController@index');

Route::get('/hi', function()
{
    phpQuery::newDocumentFile('http://www.helloweba.com/blog.html'); 
    $artlist = pq(".blog_li"); 
    foreach($artlist as $li){
    echo pq($li)->find('h2')->html()."<br/>"; 
} 
});
Route::controllers([
    'auth' => 'Auth\AuthController',
    'password' => 'Auth\PasswordController',
]);
View Code

成功了!

 

 最后,laravel和yii类似,他们都有一套自己的“脚手架”,即通过dos终端的一些命令来自动给你生成一些model和controller的文件,这样可以免去开发者的一些繁杂工作。

 给出一个官方链接:http://laravelacademy.org/post/3716.html

posted @ 2017-08-30 13:23  MasonZhang  阅读(547)  评论(0)    收藏  举报