如何正确地将Red Bean PHP添加到我的项目中

我对php项目结构不是很有经验,我找到了这个很棒的简单教程: https://arjunphp.com/creating-restful-api-slim-framework/ 如何 创建简单的瘦身休息应用程序。</ p>

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

 使用\ RedBeanPHP \ R作为R; 
R :: setup('mysql:host = localhost; dbname = mydatabase','myusername','mypassword )
</ code> </ pre>

然后</ p>

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

</ code> </ pre>

然后使用ReadBean作为我的数据库内容。 我想知道如何将RedBeans包含到项目中,然后在我需要的地方使用它。 这是我的项目结构 https://github.com/iarjunphp/creating-restful -API - 超薄框架3 。 </ p>

注意:我通过这里描述的作曲家添加红豆 https:/ /github.com/gabordemooij/redbean </ p>
</ div>

展开原文

原文

I'm not very experienced with php projects structure, I found this awesome and simple tutorial: https://arjunphp.com/creating-restful-api-slim-framework/ how to create simple slim rest app.

This is actually PHP SLIM's official project structure, my question is what is best and proper way to add and use RedBean php ORM, I dont want on every route to include something like this

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

and then

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

And then use ReadBean for my db stuff. Im wondering how to include RedBeans into project and then just use it where i need it. This is my project structure https://github.com/iarjunphp/creating-restful-api-slim-framework3.

Note: i added red beans via composer like its described here https://github.com/gabordemooij/redbean

douhe8981
douhe8981 我知道你应该回答所以我可以把它标记为解决方案。再次!
大约 3 年之前 回复
duanbo19834
duanbo19834 现在结构很好,但是在问题中加入解决方案并不是一个好主意。现在你的问题不再是一个问题了。
大约 3 年之前 回复
dty63504
dty63504 它的工作,我不知道我需要添加使用\RedBeanPHP\R作为R;在dependencies.php和routes.php中都有。所以你能否证实这是一个很好的结构。(我编辑了我的问题)
大约 3 年之前 回复
douju1365
douju1365 现在你只需要将use\RedBeanPHP\R添加为R;你的routes.php也是如此。只有一次,那么你可以在路由回调中使用R::load。
大约 3 年之前 回复
donglaoping9702
donglaoping9702 我更新了我的问题,因为你可以看到我将所有内容添加到dependencies.php但在其他文件中例如route.php我不能使用红豆
大约 3 年之前 回复
dongsaolian8786
dongsaolian8786 你已经编写了代码!第一个代码块,use语句和R::setup调用将它移动到src/dependencies.php。您是否在使用代码时遇到任何问题,而您决定在SO上询问它?你的代码似乎很好。
大约 3 年之前 回复
dongrang2140
dongrang2140 你可以写一些代码样本,这样我就可以看到我应该怎么做了吗?
大约 3 年之前 回复
dongshan9338
dongshan9338 如果您正在使用Slim骨架应用程序,那么dependencies.php可能是放置设置代码的好地方。
大约 3 年之前 回复

2个回答



您可以将用于设置库的代码放在将要包含在每个请求中的任何文件中,因此假设您是 使用 slim / slim-skeleton </ code>, src / dependencies.php </ code>可能就是你要添加这两行的地方:</ p>

 <  code> use \ RedBeanPHP \ R as R; 
R :: setup('mysql:host = localhost; dbname = njux_db','root','');
</ code> </ pre>

然后您可以在路由回调中使用ReadBeans,但您还需要将 use \ RedBeanPHP \ R作为R; </ code>语句添加到 src / routes.php </ code>中 好(或任何将要使用此类的文件)</ p>
</ div>

展开原文

原文

You can put the code for setting up your libraries in any file that is going to be included on each request, so assuming you're using slim/slim-skeleton, src/dependencies.php is probably the place you want to add these two lines:

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

Then you can use ReadBeans in your route callbacks but you also need to add the use \RedBeanPHP\R as R; statement to your src/routes.php as well (or any file that is going to use this class)



如果您使用MVC框架(我推荐),如 codeigniter 非常简单。</ p>

您只需复制 rb即可。 php </ code>到 application / third_party </ code>文件夹。</ p>

然后创建一个名为 application / libraries / rb.php </ code>的文件 像这样的代码。</ p>

 &lt;?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);

}
}
?&gt;
</ code> </ pre>

...和vôila。 RedBean将从CodeIgniter的标准文件 application / config / database.php </ code>中读取您的数据库配置,您将能够在代码中的任何位置使用任何 R :: </ code>命令。 不包括,不需要额外的代码: - )</ p>
</ div>

展开原文

原文

If you use a MVC framework (which I recommend) like it's pretty easy.

You only have to copy your rb.php to the application/third_party folder.

Then create a file called application/libraries/rb.php containing a code like this one.

<?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); 
   }
}
?>

...and vôila. RedBean will read your database configuration from CodeIgniter's standard file application/config/database.php and you will be able to use any R:: command from anywhere in your code. No includes, not additional code required :-)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐