Php Codeigniter 3编写器和供应商目录
我已经安装了codeigniter 3.1.8,并使用composer安装了此库:Php Codeigniter 3编写器和供应商目录,php,codeigniter,php-amqplib,Php,Codeigniter,Php Amqplib,我已经安装了codeigniter 3.1.8,并使用composer安装了此库: composer需要php-amqplib/php-amqplib 这已经创建了一个目录供应商 我已经看过了关于如何使用图书馆的公认答案 但这是我在vendor中的目录结构 第二 和php amqplib内部 和php amqplib内部 如果我查看index.php,我发现已经定义了fcpath // Path to the front controller (this file) directory d
composer需要php-amqplib/php-amqplib
这已经创建了一个目录供应商
我已经看过了关于如何使用图书馆的公认答案
但这是我在vendor中的目录结构
第二
和php amqplib内部
和php amqplib内部
如果我查看index.php
,我发现已经定义了fcpath
// Path to the front controller (this file) directory
define('FCPATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
require_once BASEPATH.'core/CodeIgniter.php';
再次定义它将导致错误。如何在控制器方法中使用php amqplib?如果您的问题是-如何在控制器方法中使用php amqplib?
第1步:
在一开始就允许或要求autoload.php文件,但在codeigniter上通常不能这样做。因此,在配置文件中更改一行将自动要求autoload.php
文件
CodeIgniter/application/config/config.php
find:
$config['composer\u autoload']=FALSE
至$config['composer\u autoload']=TRUE代码>
第2步:
在控制器类上,如下所示:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;
class Welcome extends CI_Controller {
public function index()
{
// your business logic like this
$msg = new AMQPMessage($msg_body);
$ch->batch_basic_publish($msg, $exchange);
}
}
现在更多ref:
如果您的问题是-如何在控制器方法中使用php amqplib?
第1步:
在一开始就允许或要求autoload.php文件,但在codeigniter上通常不能这样做。因此,在配置文件中更改一行将自动要求autoload.php
文件
CodeIgniter/application/config/config.php
find:
$config['composer\u autoload']=FALSE
至$config['composer\u autoload']=TRUE代码>
第2步:
在控制器类上,如下所示:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;
class Welcome extends CI_Controller {
public function index()
{
// your business logic like this
$msg = new AMQPMessage($msg_body);
$ch->batch_basic_publish($msg, $exchange);
}
}
现在更多ref:
这将打开和关闭连接
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
use PhpAmqpLib\Message\AMQPMessage;
use PhpAmqpLib\Connection\AMQPStreamConnection;
class Welcome extends CI_Controller {
public function index()
{
$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
$channel = $connection->channel();
$channel->queue_declare('hello', false, false, false, false);
$msg = new AMQPMessage('Yur message goes here....');
$channel->basic_publish($msg, '', 'hello');
$channel->close();
$connection->close();
$this->load->view('welcome_message');
}
}
这将打开和关闭连接
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
use PhpAmqpLib\Message\AMQPMessage;
use PhpAmqpLib\Connection\AMQPStreamConnection;
class Welcome extends CI_Controller {
public function index()
{
$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
$channel = $connection->channel();
$channel->queue_declare('hello', false, false, false, false);
$msg = new AMQPMessage('Yur message goes here....');
$channel->basic_publish($msg, '', 'hello');
$channel->close();
$connection->close();
$this->load->view('welcome_message');
}
}
在/application/config/config.php中更改composer\u自动加载配置,如下所示
$config['composer_autoload']='vendor/autoload.php'代码>在/application/config/config.php中更改composer\u自动加载配置,如下所示
$config['composer_autoload']='vendor/autoload.php'代码>您是否尝试过:require_once APPPATH'vendor/autoload.php';不,但我能做到。在这个答案中,我必须把供应商iside应用程序。这是指codeigniter创建的应用程序文件夹,还是应该保留在屏幕截图中的位置,以及我现在如何在控制器中访问它;不,但我能做到。在这个答案中,我必须把供应商iside应用程序。这是指codeigniter创建的应用程序文件夹,还是应该保留在屏幕截图中的位置,以及我现在如何在控制器中访问它?供应商必须在codeigniter应用程序目录中。我如何在控制器功能结束时关闭连接?@Gandalf如果您有其他问题,请分别发布-本网站设计为每页有一个问题和答案,而不是讨论线索,因此,未来的读者更容易找到他们需要的答案。供应商必须位于codeigniter应用程序目录中。我如何才能在控制器功能结束时关闭连接?@Gandalf如果您有其他问题,请单独发布-此网站设计为在每个页面上有一个问题和答案,而不是一连串的讨论,这样未来的读者更容易找到他们需要的答案。