<h2 id="安装"><a name="安装" href="#安装"></a>安装</h2>
<h4 id="要求"><a name="要求" href="#要求"></a>要求</h4>
<ul>
<li><h5 id="web服务器"><a name="web服务器" href="#web服务器"></a>web服务器</h5>
你需要一个web服务器来运行你的应用,最好是可以运行在你的本地机器上(你所有的开发不是都在这上面做的吗,不是吗?不是吗?)。对于PHP而言,框架在很多web服务器上都运行的很好。允许安装在 Apache,IIS,Lighttpd, 和 NGINX。</li></ul>
<ul>
<li><h5 id="php"><a name="php" href="#php"></a>PHP</h5>
<p>因为框架充分利用了最新的语言特点,现在的PHP版本是必须的。下面的兼容表格展示了相应版本的框架需要什么版本的PHP</p>
<table>
<thead>
<tr>
<th></th>
<th>要求的PHP版本</th>
<th>推荐PHP版本</th>
<th>兼容版本PHP</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.0.x</td>
<td>>= 5.3.6</td>
<td>>= 5.4.0</td>
<td>>=5.3.6o or <5.7.0</td>
</tr>
<tr>
<td>1.1.x</td>
<td>>= 5.5.0</td>
<td>>= 5.6.0</td>
<td>>= 5.5.0</td>
</tr>
</tbody>
</table>
<p>The vanilla PHP configuration should be in general fine. However its always good to double check that certain configuration options are set correctly. Certain features are not supported as we consider those broken, very experimental or a hack.<br>请检查这些:</p>
<ul>
<li>Magic Quotes 是关掉的</li><li>Register Globals 是关掉的</li><li>Function overloading是关掉的当用mbstring extension</li><li>PHP不是通过curlwrappers编译</li><li>短标签是关闭的。尽管不是一个严格的要求</li></ul>
<p>如果你修改了php配置,那么你也可以考虑显示开发过程中的错误,只要改变相关路径下的php.ini文件即可:</p>
<blockquote>
<p>; Show me teh errors.<br>display_errors = On</p>
<p>; Either choose to see all errors or all, but no deprecation warnings.<br>error_reporting = E_ALL<br>; error_reporting = E_ALL & ~E_DEPRECATED</p>
</blockquote>
</li></ul>
<ul>
<li><h5 id="数据存储"><a name="数据存储" href="#数据存储"></a>数据存储</h5>
应用通常需要不同程度上的数据存储。所以你可能尝试下以下的一些:<ul>
<li>MongoDB</li><li>MySQL 或者 MariaDB</li><li>PostgreSQL</li><li>SQLite</li><li>CouchDB</li></ul>
</li></ul>
<ul>
<li><h5 id="版本控制系统"><a name="版本控制系统" href="#版本控制系统"></a>版本控制系统</h5>
<p>虽然不是必要的,关于git版本控制系统的知识对大多数开发来说是很有用的,并且li3就是生产发布是以git为基础的。</p>
</li><li><h5 id="终端命令行"><a name="终端命令行" href="#终端命令行"></a>终端命令行</h5>
<p>这个也不是很有必要,但是它提供了很多有用的工具处理复杂重复的人物</p>
</li></ul>
<ul>
<li><h5 id="激情"><a name="激情" href="#激情"></a>激情</h5>
….创新和团队合作</li></ul>
<h4 id="开始一个新项目"><a name="开始一个新项目" href="#开始一个新项目"></a>开始一个新项目</h4>
<p>最好的方式开始一个项目是将它基于一个稳定的项目发布环境。发布有面向通用web项目或者面向要求一个小框架方法的项目。项目分布为一组预定义的文件结构,一些样式代码和对应的核心库。<br>我们将让我们的新项目基于这样一个正式的<a href="https://github.com/UnionOfRAD/framework">框架基础</a>。</p>
<h4 id="用composer"><a name="用composer" href="#用composer"></a>用Composer</h4>
<p>这一特性在1.1.0以后支持<br>我们将用<a href="https://getcomposer.org/">composer</a>在当前文件夹创建我们的项目。</p>
<pre><code>composer create-project --prefer-dist unionofrad/framework project
</code></pre><h4 id="用git"><a name="用git" href="#用git"></a>用git</h4>
<p>不想用composer?没问题,你也可以用git。接下来的命令将把框架作为项目克隆下来当前文件夹。上游可库将以名字发布版本安装。</p>
<pre><code>git clone --origin distro https://github.com/UnionOfRAD/framework.git project
</code></pre><p>然后我们会切换进入文件夹并且初始化仓库子模块。模块的使用是为了不依赖其他非核心库本身。</p>
<pre><code>cd project
git submodule update --init
</code></pre><p>如果所有事情都作妥当了,你应该想在有一个lithum核心在你的 project/libraries/lithium里面。</p>
<h4 id="继续我们的脚步"><a name="继续我们的脚步" href="#继续我们的脚步"></a>继续我们的脚步</h4>
<p>这一节的目的是,我们将用PHP的内置开发服务器。这对开发很有好处,但是最好别在产品机器上使用。关于怎么使用别的web服务器会在本节结尾处介绍。</p>
<h4 id="权限"><a name="权限" href="#权限"></a>权限</h4>
<p>框架必须有对/app/resources/tmp 有写权限,它要保存已经编译模板的缓存和日志文件。web服务器上必须设置可以写这个文件夹。</p>
<h4 id="开启服务器"><a name="开启服务器" href="#开启服务器"></a>开启服务器</h4>
<p>保证你在project的根目录。现在通过下列命令开始内置服务器。你的项目将可以通过127.0.0.1的8080端口访问。</p>
<pre><code>php -S 127.0.0.1:8000 -t app/webroot index.php
</code></pre><p>最后,通过浏览器访问<a href="http://127.0.0.1:8080。这个时候,你将看到默认的主页。你成功了。">http://127.0.0.1:8080。这个时候,你将看到默认的主页。你成功了。</a></p>
<blockquote>
<p>通过<a href="http://li3.me/docs/manual/installation/web-servers.md">web服务器页面</a>看更多如何设置产品级web服务器</p>
</blockquote>
<h2 id="安装"><a name="安装" href="#安装"></a>安装</h2>
<h4 id="要求"><a name="要求" href="#要求"></a>要求</h4>
<ul>
<li><h5 id="web服务器"><a name="web服务器" href="#web服务器"></a>web服务器</h5>
你需要一个web服务器来运行你的应用,最好是可以运行在你的本地机器上(你所有的开发不是都在这上面做的吗,不是吗?不是吗?)。对于PHP而言,框架在很多web服务器上都运行的很好。允许安装在 Apache,IIS,Lighttpd, 和 NGINX。</li></ul>
<ul>
<li><h5 id="php"><a name="php" href="#php"></a>PHP</h5>
<p>因为框架充分利用了最新的语言特点,现在的PHP版本是必须的。下面的兼容表格展示了相应版本的框架需要什么版本的PHP</p>
<table>
<thead>
<tr>
<th></th>
<th>要求的PHP版本</th>
<th>推荐PHP版本</th>
<th>兼容版本PHP</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.0.x</td>
<td>>= 5.3.6</td>
<td>>= 5.4.0</td>
<td>>=5.3.6o or <5.7.0</td>
</tr>
<tr>
<td>1.1.x</td>
<td>>= 5.5.0</td>
<td>>= 5.6.0</td>
<td>>= 5.5.0</td>
</tr>
</tbody>
</table>
<p>The vanilla PHP configuration should be in general fine. However its always good to double check that certain configuration options are set correctly. Certain features are not supported as we consider those broken, very experimental or a hack.<br>请检查这些:</p>
<ul>
<li>Magic Quotes 是关掉的</li><li>Register Globals 是关掉的</li><li>Function overloading是关掉的当用mbstring extension</li><li>PHP不是通过curlwrappers编译</li><li>短标签是关闭的。尽管不是一个严格的要求</li></ul>
<p>如果你修改了php配置,那么你也可以考虑显示开发过程中的错误,只要改变相关路径下的php.ini文件即可:</p>
<blockquote>
<p>; Show me teh errors.<br>display_errors = On</p>
<p>; Either choose to see all errors or all, but no deprecation warnings.<br>error_reporting = E_ALL<br>; error_reporting = E_ALL & ~E_DEPRECATED</p>
</blockquote>
</li></ul>
<ul>
<li><h5 id="数据存储"><a name="数据存储" href="#数据存储"></a>数据存储</h5>
应用通常需要不同程度上的数据存储。所以你可能尝试下以下的一些:<ul>
<li>MongoDB</li><li>MySQL 或者 MariaDB</li><li>PostgreSQL</li><li>SQLite</li><li>CouchDB</li></ul>
</li></ul>
<ul>
<li><h5 id="版本控制系统"><a name="版本控制系统" href="#版本控制系统"></a>版本控制系统</h5>
<p>虽然不是必要的,关于git版本控制系统的知识对大多数开发来说是很有用的,并且li3就是生产发布是以git为基础的。</p>
</li><li><h5 id="终端命令行"><a name="终端命令行" href="#终端命令行"></a>终端命令行</h5>
<p>这个也不是很有必要,但是它提供了很多有用的工具处理复杂重复的人物</p>
</li></ul>
<ul>
<li><h5 id="激情"><a name="激情" href="#激情"></a>激情</h5>
….创新和团队合作</li></ul>
<h4 id="开始一个新项目"><a name="开始一个新项目" href="#开始一个新项目"></a>开始一个新项目</h4>
<p>最好的方式开始一个项目是将它基于一个稳定的项目发布环境。发布有面向通用web项目或者面向要求一个小框架方法的项目。项目分布为一组预定义的文件结构,一些样式代码和对应的核心库。<br>我们将让我们的新项目基于这样一个正式的<a href="https://github.com/UnionOfRAD/framework">框架基础</a>。</p>
<h4 id="用composer"><a name="用composer" href="#用composer"></a>用Composer</h4>
<p>这一特性在1.1.0以后支持<br>我们将用<a href="https://getcomposer.org/">composer</a>在当前文件夹创建我们的项目。</p>
<pre><code>composer create-project --prefer-dist unionofrad/framework project
</code></pre><h4 id="用git"><a name="用git" href="#用git"></a>用git</h4>
<p>不想用composer?没问题,你也可以用git。接下来的命令将把框架作为项目克隆下来当前文件夹。上游可库将以名字发布版本安装。</p>
<pre><code>git clone --origin distro https://github.com/UnionOfRAD/framework.git project
</code></pre><p>然后我们会切换进入文件夹并且初始化仓库子模块。模块的使用是为了不依赖其他非核心库本身。</p>
<pre><code>cd project
git submodule update --init
</code></pre><p>如果所有事情都作妥当了,你应该想在有一个lithum核心在你的 project/libraries/lithium里面。</p>
<h4 id="继续我们的脚步"><a name="继续我们的脚步" href="#继续我们的脚步"></a>继续我们的脚步</h4>
<p>这一节的目的是,我们将用PHP的内置开发服务器。这对开发很有好处,但是最好别在产品机器上使用。关于怎么使用别的web服务器会在本节结尾处介绍。</p>
<h4 id="权限"><a name="权限" href="#权限"></a>权限</h4>
<p>框架必须有对/app/resources/tmp 有写权限,它要保存已经编译模板的缓存和日志文件。web服务器上必须设置可以写这个文件夹。</p>
<h4 id="开启服务器"><a name="开启服务器" href="#开启服务器"></a>开启服务器</h4>
<p>保证你在project的根目录。现在通过下列命令开始内置服务器。你的项目将可以通过127.0.0.1的8080端口访问。</p>
<pre><code>php -S 127.0.0.1:8000 -t app/webroot index.php
</code></pre><p>最后,通过浏览器访问<a href="http://127.0.0.1:8080。这个时候,你将看到默认的主页。你成功了。">http://127.0.0.1:8080。这个时候,你将看到默认的主页。你成功了。</a></p>
<blockquote>
<p>通过<a href="http://li3.me/docs/manual/installation/web-servers.md">web服务器页面</a>看更多如何设置产品级web服务器</p>
</blockquote>