小编112*_*233的帖子

运行后如何使用Ratchet\Server\IoServer对象?

我想运行一个迭代生成器类的函数.只要Ratchet连接处于活动状态,发电机功能就会运行.我需要做的就是在run执行方法后实现这一点:

use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;

require dirname(__DIR__) . '/xxx/vendor/autoload.php';

 $server = IoServer::factory(

    new HttpServer(
        new WsServer(
            new Chat()
        )
    ),

    8180,
    '0.0.0.0'

);

$server->run();
Run Code Online (Sandbox Code Playgroud)

这是我在服务器启动后需要运行的方法:

function generatorFunction()
{

$products = r\table("tableOne")->changes()->run($conn);
 foreach ($products as $product) {
   yield $product['new_val'];
 }

}
Run Code Online (Sandbox Code Playgroud)

以前我之前正在调用这个函数$server->run():

for ( $gen = generatorFunction(); $gen->valid(); $gen->next()) {
 var_dump($gen->current());
}
$server->run();
Run Code Online (Sandbox Code Playgroud)

但这不允许客户端建立与Ratchet服务器的连接.我怀疑它永远不会$server->run()被生成,因为生成器类正在被迭代.

所以现在,我想首先启动服务器,然后调用这个生成器方法,以便它可以继续监听更改rethinkdb.

我怎么做?

php ratchet rethinkdb

10
推荐指数
1
解决办法
533
查看次数

如何查询逗号分隔的字符串?

TABLE_A

column name: list_id
record 1: 1,2,5,6,8
record 2: 1,3,2
record 3: 6,7,2
record 4: 9,8,0
Run Code Online (Sandbox Code Playgroud)

表-B

id ='2';
Run Code Online (Sandbox Code Playgroud)

如何选择id='2'逗号分隔字符串中的记录?从上面的例子中,它应该返回记录1,2和3.

查询(如何修改此查询?):

SELECT * FROM Table_a,Table_b WHERE Table_b.id = Table_a.list_id;
Run Code Online (Sandbox Code Playgroud)

php mysql

7
推荐指数
1
解决办法
133
查看次数

如何使用不限于类范围的全局类?

我已经开始用PHP学习OOP了.我设法编写代码,其中子类将扩展包含与数据库的连接的超类.现在不是扩展或使用子类,有没有一种方法可以使这个连接类成为全局,这样任何类都可以使用它的对象而不必扩展它?

请注意下面,我必须使用$this->pdo以考虑类的实例.有没有办法可以在这个类中实例化一个对象,$pdo=new PDO();并在$pdo任何我想要的地方使用这个对象?

静态类会帮助这种情况吗?

class connection
{
    public $servername = "localhost";
    public $username = "root";
    public $password = "";
    public $dbname = "carrental";
    public $port="3306";
    public $pdo;

    function addConnection()
    {
      try {
          $this->pdo = new PDO("mysql:host=$this->servername;port=$this->port;dbname=$this->dbname", $this->username, $this->password);
          $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      } catch(PDOException $e) {
          echo 'ERROR: ' . $e->getMessage();
      }

      $this->pdo->query("use $this->dbname");
    }
}
Run Code Online (Sandbox Code Playgroud)

像下面一样尝试Singleton,但是当我得到致命的错误和警告时,可以告诉我什么是错的.

(!)致命错误:在第20行的C:\ wamp\www\carRental\index.php中(!)
PDOException:在第20行的C:\ wamp\www\carRental\index.php中调用堆栈

时间记忆功能位置1 0.0012 143752 {main}()
..\index.php:0 2 0.0012 144296 car - > __ construct()..\index.php:50

3 0.0013 …

php oop

6
推荐指数
1
解决办法
90
查看次数

如何在 Windows 上使用 Composer 正确安装 Ratchet?

几周来我一直在尝试解决这个问题,但仍然无法解决。当我开始探索 Ratchet 时,我才开始了解 Composer,因此对于应该将其安装在哪里感到困惑。

1)composer.phar文件安装在哪里?Soe 对我项目的根源说道。有人说我的机器上安装了 php。

我通过单击此处的 Composer-Setup.exe 安装了composer.phar: https: //getcomposer.org/download/

这会将其安装在C:\ProgramData\ComposerSetup\bin\composer.phar

现在我的棘轮项目位于这里:目前除了空文件C:\projects\rachet\index.php 之外没有其他文件。index.php

2)现在如何将ratchet安装到该路径中?路径=C:\projects\rachet\index.php

3)我应该在哪个命令提示符中键入以在Windows中安装ratchet或composer?目前有两个。一个是php.exe命令提示符,另一个是通过键入打开cmd

php windows composer-php ratchet

6
推荐指数
1
解决办法
5512
查看次数

如何将数组插入数据库

$rate=[10,20,40,50,70];
Run Code Online (Sandbox Code Playgroud)

如何在下面的查询中插入值?

$sql="INSERT INTO rental(day_1,day_3,day_7,day_15,day_30)
      VALUES('{$rate[0]}','{$rate[1]}', '{$rate[2]}','{$rate[3]}','{$rate[4]}')";

$stmt =connection::$pdo->prepare($sql);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)

我在下面尝试过,但它在记录的所有列中插入相同的值,并为每个新值创建新记录:

foreach($rate as $key->$value)
{  
    $sql="INSERT INTO rental(day_1,day_3,day_7,day_15,day_30)
          VALUES('{$value}','{$value}', '{$value}','{$value}','{$value}')";

    $stmt =connection::$pdo->prepare($sql);
    $stmt->execute();
Run Code Online (Sandbox Code Playgroud)

根据给出的答案编辑

public function rentalRate()
    {

$rate = implode("','",$this->rate);
$sql = "INSERT INTO rental(day_1,day_3,day_7,day_15,day_30)VALUES('$rate')";
$stmt =connection::$pdo->prepare($sql);
        $stmt->execute();
        unset($rate);
    }
Run Code Online (Sandbox Code Playgroud)

php

4
推荐指数
1
解决办法
75
查看次数

如何按纬度和经度查找最近的位置?

这是loc_coordinate表结构:

在此输入图像描述

下面是代码,从数据库中获取最近的位置并显示存储在数据库本身的地名.

<?php
include("config.php");
$lat = "3.107685";
$lon = "101.7624521";

        $sql="SELECT ((ACOS(SIN($lat * PI() / 180) * SIN(lat * PI() / 180) + COS($lat * PI() / 180) * COS(lat * PI() / 180) * COS(($lon – lon) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS 'distance' FROM loc_coordinate HAVING 'distance'<='10' ORDER BY 'distance' ASC";
        $stmt =$pdo->prepare($sql);
        $stmt->execute();


        while($row = $stmt->fetch())
        {
          echo $row['place'];
        }

?>
Run Code Online (Sandbox Code Playgroud)

显示的错误:

致命错误:在第8行的C:\ wamp\www\mysite\by_coor.php中

PDOException:在第8行的C:\ wamp\www\mysite\by_coor.php中

echo $sql …

php mysql google-maps

3
推荐指数
2
解决办法
1万
查看次数

分区不工作

在此处输入图片说明

我想创建带有子菜单的菜单。因此,我需要做的就是显示menu_cat为主菜单(不重复),同时menu作为相关menu_cat.

像 DISTINCT 和 GROUP BY 这样的子句似乎适用于整行。由于我的搜索,我发现了这个链接:DISTINCT for only one Column

这正是我想要做的。但是我收到错误。以下是我的查询和 Phpmyadmin 错误。请帮我解决这个错误。

$query = "Select * FROM ('SELECT menu_cat,menu,manu_href,ROW_NUMBER() OVER(PARTITION BY menu_cat ORDER BY menu_id DESC) rn FROM menu')a WHERE rn = 1";
Run Code Online (Sandbox Code Playgroud)

错误:

#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“SELECT menu_cat,menu,manu_href,ROW_NUMBER() OVER(PARTITION BY menu_cat ORDER BY”附近使用正确的语法

$query2 = "select menu_cat OVER (PARTITION BY menu_id) AS Cat,menu,menu_href from menu"
Run Code Online (Sandbox Code Playgroud)

错误:

#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在第 1 行的“(PARTITION …

php mysql

3
推荐指数
1
解决办法
6634
查看次数

是否可以使用 createObjectURL 保存到文件夹中?

URL.createObjectURL(event.target.files[0] this makes me able to view the image just uploaded in the browser. Using the same hack is there a way, where I can store the file/image into a folder instead of URL?

 console.debug(URL.createObjectURL(event.target.files[0]));
Run Code Online (Sandbox Code Playgroud)

上面的日志出来了,这个:blob:http%3A//mysite.localhost.com/f96c26b4-9938-4f6e-941e-edbdae3454c9

我只是想知道是否可以替换mysite.localhost.com为文件夹路径。我什至尝试将 URL 替换为文件夹的完整路径,但createObjectURL仅适用于URL. 有没有将文件保存到文件夹的功能?

jquery

3
推荐指数
1
解决办法
5440
查看次数

如何用字符'x'替换最后3位数字

var phone = '601112500098';

tried:
(1)
var hidden_number = phone;
hidden_number.replace( 4, "x");10,

(2)
var hidden_number = phone.join('x').substr(-4);
Run Code Online (Sandbox Code Playgroud)

'x'无论电话号码的长度如何,我只需要替换最后三位数字.所以它会改变601112500098601112500xxx

如何在jquery中实现这一点?

regex jquery

2
推荐指数
1
解决办法
1079
查看次数

如何从反向地理编码JSON结果中获取格式化的地址?

这是JSON输出:我只想获取formatted_address值&long_name&short_name。我提到了人们已经问过的问题,但是我做错了。指:

从地址解析器结果中获取城市?

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Jalan Sungai Chua",
               "short_name" : "B11",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Sungai Chua",
               "short_name" : "Sungai Chua",
               "types" : [ "sublocality_level_1", "sublocality", "political" ]
            },
            {
               "long_name" : "Kajang",
               "short_name" : "Kajang",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Selangor",
               "short_name" : "Selangor",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Malaysia",
               "short_name" : "MY",
               "types" : [ …
Run Code Online (Sandbox Code Playgroud)

php json google-maps geocoding reverse-geocoding

2
推荐指数
1
解决办法
2846
查看次数