我正在使用Symfony2来构建一个简单的聊天应用程序.我决定使用GeniusesOfSymfony/WebSocketBundle作为我的WebSocket,由Ratchet提供支持:
https://github.com/GeniusesOfSymfony/WebSocketBundle
我设法使用PubSub进行聊天,但我想使用推送集成:我希望客户端通过AJAX将消息发送到我的Symfony2控制器,而控制器又将消息推送到WebSocket的所有客户端.
我按照这个文档页面:
https://github.com/GeniusesOfSymfony/WebSocketBundle/blob/master/Resources/docs/Pusher.md
我尝试过使用ZMQ和Websocket Pusher.
使用ZMQ,当我运行websocket时,我得到了cmd通知:
ZMQ传输监听127.0.0.1:5555
但是,推送消息不起作用:
$pusher = $this->container->get("gos_web_socket.zmq.pusher");
//push(data, route_name, route_arguments)
$pusher->push(["type" => "newMessage", "text" => $request->request->get("msg")], "chat_topic");
Run Code Online (Sandbox Code Playgroud)
这是我的ChatTopic类中的onPush方法:
class ChatTopic implements TopicInterface, PushableTopicInterface {
public function onPush(Topic $topic, WampRequest $request, $data, $provider) {
$topic->broadcast($data);
}
}
Run Code Online (Sandbox Code Playgroud)
永远不会调用onPush方法.此外,推动事件永远不会被解雇.代码中似乎没有例外.
使用WebSocket Pusher,我甚至无法使服务运行.在cmd中没有像ZMQ那样的通知,并且使用netstat
命令我无法检测到它正在侦听端口1337.当我尝试推送它时,我得到异常:
无法打开插座.原因:无法建立连接,因为目标计算机主动拒绝它
可能是因为没有服务侦听端口1337.
PS - 我在Windows 10上并使用WAMP服务器.我已成功在WAMP上安装了ZMQ扩展,如下所示phpinfo()
.
假设我有一个发票实体.发票属于某个用户(invoices.user_id
).
如果用户输入myapp.com/invoices/1
,则需要登录才能访问其发票.这很正常.
有时invoices.user_id
为空(发票所有者在我们的系统中没有帐户),但我们有一个invoices.phone_number
列.
目标是为我们系统中没有帐户的用户创建基于SMS代码验证的身份验证系统.如果用户确认他确实拥有与发票相关的电话号码(代码验证),我想授予他临时访问权限(15分钟)到此发票详细信息页面(仅限此页面).
我的第一个想法是使用存储在会话中的JWT令牌.
我的第二个想法是使用自定义防火墙.
有没有更好的方法?
我正在尝试使用facebook登录连接我的应用程序.我做了所有这些步骤,我面临一个奇怪的问题.所以登录按钮有效,因为facebook登录窗口出现但我没有获得facebook令牌(调用onError).
我已经尝试过本课题的所有解决方案.
此代码与Facebook教程中的代码相同.
mCallbackManager = CallbackManager.Factory.create();
LoginButton loginButton = findViewById(R.id.login_button);
loginButton.setReadPermissions("email");
loginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d(TAG, "facebook:onSuccess:" + loginResult);
}
@Override
public void onCancel() {
Log.d(TAG, "facebook:onCancel");
}
@Override
public void onError(FacebookException error) {
Log.d(TAG, "facebook:onError", error);
error.printStackTrace();
}
});
Run Code Online (Sandbox Code Playgroud)
这是我的错误,与问题(额外:null)略有不同:
09-12 21:13:40.317 29573-29573/com.xxxx.yyyy D/FACEBOOK: facebook:onError
SERVER_ERROR: [code] 1675030 [message]: Error performing query. [extra]: null
at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:219)
at com.facebook.login.LoginManager$1.onActivityResult(LoginManager.java:174)
at com.facebook.internal.CallbackManagerImpl.onActivityResult(CallbackManagerImpl.java:92)
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中
<meta-data android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id"/>
<activity android:name="com.facebook.FacebookActivity"
android:configChanges= …
Run Code Online (Sandbox Code Playgroud) 我面临的问题是我有一个读取 CSV 文件的 SplFileObject,然后我将它包装到一个 LimitIterator 中。
CSV 文件有 2 行、标题和 1 行,我将 LimitIterator 偏移量设置为 1,但无法覆盖它,似乎索引存在一些内部问题。
这是代码:
$csvFile = new \SplFileObject($fileName);
$csvFile->setFlags(\SplFileObject::READ_CSV);
$iterator = new \LimitIterator($csvFile, 1);
/** @var \LimitIterator $it */
foreach ($iterator as $it) {
list($.., $.., $..) = $it;
$result[] = [
...
];
}
return $result;
Run Code Online (Sandbox Code Playgroud)
如果 CSV 有 3 行(标题和 2 行),则代码运行良好,但只有标题和 1 行,它不起作用。
任何的想法?
谢谢。
我们可以使用任何简单的代码来仅显示系统时间,但我需要一些代码来查找服务器(PHP)时区以及如何更改服务器时区?
我需要 get 方法但不起作用
我的代码:
<?php
$page = $_GET['page'] ? intval($_GET['page']) : 1;
echo "current page : ".$page."<br/>";
?>
Run Code Online (Sandbox Code Playgroud)
和
$page 的结果是 1. 但我尝试www.example.com/test.php?page=3
$page 的结果仍然是输出 1。
为什么会这样?
这是我的问题。
我目前正在 Laravel 中构建一个应用程序,并使用 DropZone 来上传用户图像。现在在“新用户”页面上,我有用户详细信息和 dropzone 保管箱,它们都被单独处理。
我将首先运行“创建用户”方法,然后如果没问题,上传图像。
问题在于 Dropzone 在准备上传时不知道新用户 ID(因为它需要分配给数据库中的正确用户)。
我以某种方式需要能够将新用户 ID 传递回 dropzone 'processQueue' 方法,以在图像上传中使用新用户 ID,有人知道这是否可行吗?
在一个完美的世界中,我将能够将新 id 传递到“processQueue”函数中,例如processQueue(newUserId)
获取它并将其添加到表单数据中以与图像一起发送。
到目前为止,这是我的代码
HTML
<div id="user_profile" class="dropzone dropzone-box">
<div class="dz-message needsclick">
<h3>Select Image</h3>
<hr>
<p>Click here or drag and drop image</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS
//Bind dropzone to user profile image
var userProfile = new Dropzone('#user_profile',{
url: '/ajax/userProfileUpload',
autoProcessQueue:false,
maxFiles:1,
addRemoveLinks:true,
paramName: 'profile_pic', // The name that will be used to transfer the file
init: function(){
this.on("maxfilesexceeded", function(file) …
Run Code Online (Sandbox Code Playgroud) 这里有一些代码示例
class A {
public $attribute1;
public $attribute2;
public $attribute3;
........
public $attributeN;
}
Run Code Online (Sandbox Code Playgroud)
我需要知道我在课堂上可以拥有多少属性.关于这个PSR
或phpmd
其他标准的说法是什么?
以萌芽为例,我可以拥有"我想要多少",但我需要用PSR
和编写它phpmd
.我正在寻找这个,但仍然无法找到.
感谢帮助.