关于锂
Lithium是一个用于开发Web应用程序的全栈PHP框架。基于模型 - 视图 - 控制器(MVC)架构,它是为PHP 5.3+构建的,并与诸如MongoDB或CouchDB之类的最新存储技术集成。 它设计为提供伟大的项目组织以及在开发您自己独特的Web应用程序时编写代码框架的可能性。此外,它有一个强大的插件系统,允许你使用你最喜欢的组件外部框架(如Twig模板或Doctrine2为ORM)。 在本教程中,我们将讨论如何在我们的VPS上安装Lithium,以及开始使用简单的Web应用程序。为此,我假设您已经设置了服务器并运行LAMP(Apache,MySQL和PHP)。如果你还没有,有一个 伟大的教程上DigitalOcean,可以让你设置。Apache设置
由于我们使用Apache作为网络服务器,Lithium很大程度上使用.htaccess文件进行URL重写,我们还需要确保Apache事实上允许它这样做。如果您尚未执行以下步骤,则需要立即执行。 编辑负责应用程序所在文件夹的虚拟主机文件(在本例中,我们假定为默认的Apache文档根目录:/ var / www):sudo nano /etc/apache2/sites-available/default
在标有此开头的块内:
<Directory /var/www/>
确保,而不是
AllowOverride None
你
AllowOverride All
。 我们需要做的下一件事就是启用
mod_rewrite
(再次,如果你还没有启用它)。要检查是否已启用,请使用以下命令:
apache2ctl -M
如果你在列表中看到“rewrite_module”,你就没事了。如果不是,请使用以下命令启用模块:
a2enmod rewrite
对虚拟主机文件或启用Apache模块进行任何更改后,必须重新启动Apache:
sudo service apache2 restart
安装
在我们开始安装Lithium之前,让我们安装Git,以便我们可以使用它从GitHub获取框架。您可以使用以下2个命令:sudo apt-get update
sudo apt-get install git-core
接下来,我们可以将Lithium git仓库克隆到我们的服务器上(在我们的web服务器的文档根目录:/ var / www for Apache):
git clone git://github.com/UnionOfRAD/framework.git site
这将克隆框架库,并把它放在一个名为文件夹中
site
。现在我们可以安装锂作为子模块:
cd site
git submodule init
git submodule update
现在,这将克隆
lithium
库以及到我们在库/锂/文件夹服务器。这将需要启动应用程序。
命令行
锂带有一个命令行工具(li3
)与代码生成,文档等,但让它从任何地方可用的帮助,我们需要在控制台库添加到shell路径。 打开
.bash_profile
位于您的个人文件夹(如果你不已经有一个可以创建一个)文件:
nano ~/.bash_profile
并粘贴以下内容:
PATH=$PATH:/path/to/docroot/lithium/libraries/lithium/console
请确保将路径替换为通向控制台的正确路径。所以在我们的情况下,它将是:
PATH=$PATH:/var/www/site/libraries/lithium/console
在任何此类移动后,您应该运行以下命令,以确保bash命令将生效:
source ~/.bash_profile
现在测试该命令,以确保它运行它没有任何选项来获取其帮助信息:
li3
数据库连接
大多数Web应用程序需要一个依赖于存储的数据库。使用Lithium,您可以使用各种各样的数据库引擎,如MySQL,MariaDB,MongoDB,CouchDB等。为了设置我们的测试应用程序,我们将使用MySQL,但你可以自由地尝试任何你感觉更舒服。有更多的信息 在这里关于使用MongoDB的设置它。 我们需要的第一件事是数据库,所以请确保你有一个。如果你不知道如何使用MySQL的,创造你的数据库,阅读 这个伟大的教程上使用MySQL。 要建立数据库连接,首先编辑bootstrap.php
位于您的应用程序(网站/)的应用程序/ config文件夹中的文件:
nano /var/www/site/app/config/bootstrap.php
在此文件内,如果注释,取消注释以下行:
require __DIR__ . '/bootstrap/connections.php';
然后编辑以下文件:
nano /var/www/site/app/config/bootstrap/connections.php
并取消注释以下块中的数据库配置:
/**
* Uncomment this configuration to use MySQL as your default database.
*/
你会注意到不同的数据库引擎像这样的多个块。此外,在适当的地方设置MySQL连接信息。
你的申请
是时候访问浏览器,看看我们到目前为止。您可以通过导航到您的ip /网站。在那里你应该看到你的锂应用程序启动并运行一些关于它的状态和服务器配置的信息,需要使它工作。 如果您看到以下消息:Magic quotes are enabled in your PHP configuration
您需要编辑服务器上的php.ini文件:
sudo nano /etc/php5/apache2/php.ini
并粘贴以下行:
magic_quotes_gpc = Off
然后保存文件并重新启动Apache:
sudo service apache2 restart
模型 - 视图 - 控制器
由于Lithium是一个MVC框架,你会在文件夹结构中看到3个重要的文件夹:controllers /,models /和views /。让我们快速建立第一个控制器和打印Hello world!
到它的页面。 创建一个名为控制器/文件夹的新文件
HelloController.php
包含以下内容:
<?php
namespace app\controllers;
class HelloController extends \lithium\action\Controller {
public function index() {
echo "Hello World!";
}
}
?>
您可以保存文件。我们在这里做的是创建一个新的控制器类,位于一个仔细命名的文件(基于类名),并扩展了Lithium控制器类。在里面,我们创建了一个索引方法,如果在调用此控制器时没有传递参数,则将调用该方法。在这个方法中,我们只打印出消息。 要访问该浏览器,您现在可以浏览到-IP /网站/你好,你应该看到
Hello World
打印的页面上。
结论
在本教程中,我们已经了解了如何安装Lithium PHP并进行必要的服务器配置以使其工作。我们已经看到了如何将它连接到一个数据库(我们还没有使用),并创建了我们的第一个控制器,只是打印一个消息到页面上。 在下一个教程中,我们将进一步看看MVC架构如何与Lithium一起工作。我们将使用视图和模型(以说明与我们的MySQL存储引擎的交互)。
文章提交者:
丹尼