金钱(警告)
** 状态:** 被贬值
如果您目前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议升级或迁移到支持的 Ubuntu 版本:
** 原因:** Ubuntu 12.04 已于 2017 年 4 月 28 日到期(EOL)并且不再收到安全补丁或更新。
** 相反,请参见:** 本指南可能仍然有用作为参考,但可能不会在其他Ubuntu版本上工作. 如果可用,我们强烈建议使用为您正在使用的Ubuntu版本撰写的指南。
关于锂
基于模型视图控制器(MVC)架构,它是为PHP 5.3+构建的,并与MongoDB或CouchDB等最新存储技术集成。
它旨在提供一个伟大的项目组织,以及在开发自己的独特Web应用程序时将框架编码出来的可能性,此外,它还具有强大的插件系统,允许您从框架外部使用您最喜欢的组件(如Twig用于模板或Doctrine2 for ORM)。
在本教程中,我们将看看我们如何在我们的VPS上安装锂,以及开始使用一个简单的Web应用程序。 为此,我假定您已经安装了服务器并运行了LAMP堆栈(Apache,MySQL和PHP)。
Apache 设置
由于我们正在使用Apache作为Web服务器,而Lithium正在大量使用.htaccess文件来重写URL,我们还需要确保Apache实际上会允许它这样做。
编辑负责你将应用程序的文件夹的虚拟主机文件(在我们的情况下,让我们说默认的Apache文档根: /var/www):
1sudo nano /etc/apache2/sites-available/default
标志着这个开始的区块内:
1<Directory /var/www/>
请确保您在AllowOverride None
选项中使用AllowOverride All
选项。
接下来我们需要做的就是启用mod_rewrite
(如果您还没有启用它的话)来检查是否已启用,请使用以下命令:
1apache2ctl -M
如果您在列表中看到rewrite_module
,那么您没事,否则请使用以下命令启用该模块:
1a2enmod rewrite
在对虚拟主机文件进行任何更改或启用Apache模块后,您必须重新启动Apache:
1sudo service apache2 restart
安装
在我们开始安装 Lithium 之前,让我们安装 Git,以便我们可以使用它从 GitHub 获取框架。
1sudo apt-get update
2sudo apt-get install git-core
接下来,我们可以将Lithium git存储库克隆到我们的服务器(同时在我们的Web服务器的文档根: /var/www for Apache):
1git clone git://github.com/UnionOfRAD/framework.git site
这将克隆框架存储库并将其放置在一个名为网站
的文件夹中,现在我们可以将Lithium作为子模块安装:
1cd site
2git submodule init
3git submodule update
这将现在将锂
库克隆到库 / 锂 / 文件夹中的我们的服务器上,这将需要启动应用程序。
指挥线
锂配备了一个命令行实用程序(li3
),它有助于代码生成,文档等,但要使其从任何地方可用,我们需要将控制台库添加到壳路径中。
1nano ~/.bash_profile
并将以下内容嵌入其中:
1PATH=$PATH:/path/to/docroot/lithium/libraries/lithium/console
请确保您用正确的路径替换通往您的控制台的路径,所以在我们的情况下,它将是:
1PATH=$PATH:/var/www/site/libraries/lithium/console
在任何此类动作之后,您应该运行以下命令,以确保 bash 命令生效:
1source ~/.bash_profile
现在测试该命令,以确保它通过运行它而没有任何选项来获取其帮助信息:
1li3
数据库连接
大多数Web应用程序都需要一个数据库来依靠存储。使用Lithium,您可以使用各种数据库引擎,如MySQL,MariaDB,MongoDB,CouchDB等。为了设置我们的测试应用程序,我们将使用MySQL,但您可以自由地尝试任何您觉得更舒适的数据库引擎。
如果你不知道如何使用MySQL并创建你的DB,请阅读使用MySQL的 这个伟大的教程。
要建立数据库连接,先编辑位于应用程序/config 文件夹中的 bootstrap.php
文件(网站/):
1nano /var/www/site/app/config/bootstrap.php
在此文件中,如果评论,不评论下面的行:
1require __DIR__ . '/bootstrap/connections.php';
然后编辑以下文件:
1nano /var/www/site/app/config/bootstrap/connections.php
以及在下列块下发现的数据库配置:
1/**
2* Uncomment this configuration to use MySQL as your default database.
3*/
您将注意到不同数据库引擎的多个块类似于此,并在适当的情况下设置您的MySQL连接信息。
您的应用
现在是时候访问浏览器,看看我们迄今为止所拥有的内容。您可以通过导航到您的 ip/site. 在那里您应该看到您的 Lithium 应用程序,并运行一些关于其状态和需要进行的服务器配置的信息。
如果您看到以下消息:
1Magic quotes are enabled in your PHP configuration
您需要在您的服务器上编辑php.ini文件:
1sudo nano /etc/php5/apache2/php.ini
然后将下列行插入其中:
1magic_quotes_gpc = Off
然后保存文件并重新启动Apache:
1sudo service apache2 restart
模型视觉控制器
由于Lithium是一个MVC框架,您将在文件夹结构中看到3个重要的文件夹:控制器/,模型/和视图/.让我们快速创建我们的第一个控制器,并在页面上打印Hello world!
。
在控制器/文件夹中创建一个名为HelloController.php
的新文件,包含以下内容:
1<?php
2
3namespace app\controllers;
4
5class HelloController extends \lithium\action\Controller {
6 public function index() {
7 echo "Hello World!";
8 }
9}
10
11?>
您可以保存文件. 我们在这里做的就是创建一个新的控制器类别,位于一个精心命名的文件中(基于类名称),并扩展了锂控制器类别. 内部,我们创建了一个索引方法,如果在调用这个控制器时没有通过参数,就会被调用。
要在浏览器中访问此,您现在必须导航到您的ip/site/hello,您应该在页面上看到打印的Hello World
。
结论
在本教程中,我们已经看到如何安装Lithium PHP并进行必要的服务器配置以使其工作,我们已经看到如何将其连接到数据库(我们尚未使用),并创建了我们的第一个控制器,它只是在页面上打印消息。
在下一个教程中,我们将更进一步,看看MVC架构如何与锂一起工作,我们将使用视图以及模型(以说明与我们的MySQL存储引擎的交互)。