如何正确添加红豆 PHP 到我的项目中

How to properly add Red Bean PHP into my project

我对 php 项目结构不是很有经验,我发现了这个很棒的简单教程:https://arjunphp.com/creating-restful-api-slim-framework/ 如何创建简单的 slim rest 应用程序。

这实际上是 PHP SLIM 的官方项目结构,我的问题是添加和使用 RedBean php ORM 的最佳和正确方法是什么,我不想在每条路线上都包含这样的东西

use \RedBeanPHP\R as R;
R::setup( 'mysql:host=localhost;dbname=mydatabase', 'myusername', 'mypassword)

然后

$book = R::load( 'book', $id );

然后将 ReadBean 用于我的数据库内容。我想知道如何将 RedBeans 包含到项目中,然后在我需要的地方使用它。这是我的项目结构 https://github.com/iarjunphp/creating-restful-api-slim-framework3

注意:我像这里描述的那样通过作曲家添加了红豆https://github.com/gabordemooij/redbean

您可以将用于设置您的库的代码放在每个请求中将包含的任何文件中,因此假设您使用的是 slim/slim-skeletonsrc/dependencies.php 可能就是您的位置想要添加这两行:

use \RedBeanPHP\R as R;
R::setup( 'mysql:host=localhost;dbname=njux_db', 'root', '');

然后您可以在路由回调中使用 ReadBeans,但您还需要将 use \RedBeanPHP\R as R; 语句添加到您的 src/routes.php 中(或任何将使用此 class)

如果您使用像 这样的 MVC 框架(我推荐),那将非常简单。

您只需将 rb.php 复制到 application/third_party 文件夹。

然后创建一个名为 application/libraries/rb.php 的文件,其中包含与此类似的代码。

<?php
class Rb { 
  function __construct()    {
    include(APPPATH.'/config/database.php');
    include(APPPATH.'/third_party/rb.php');
    $host = $db[$active_group]['hostname'];
    $user = $db[$active_group]['username'];
    $pass = $db[$active_group]['password'];
    $db   = $db[$active_group]['database'];
    R::setup("mysql:host=$host;dbname=$db", $user, $pass); 
   }
}
?>

...瞧瞧。 RedBean 将从 CodeIgniter 的标准文件 application/config/database.php 中读取您的数据库配置,您将能够在代码的任何位置使用任何 R:: 命令。没有包含,不需要额外的代码:-)