我按照教程在Java Spring应用程序中实现了websockets.它到目前为止工作正常,但我真的想了解它的用途:
config.setApplicationDestinationPrefixes("/app");
Run Code Online (Sandbox Code Playgroud)
我的整个配置看起来像这样
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/app");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/hello").withSockJS();
}
}
Run Code Online (Sandbox Code Playgroud)
我基本上只是不明白春季文档/ tut中给出的解释 - 例如
...它为@ MessageMapping-annotated方法绑定的消息指定"/ app"前缀.
我想在我的基本共享主机上测试一些Laravel应用程序.
目前我只上传我的完整应用程序,包括供应商文件,但这需要很长时间.
由于我无法ssh
访问我的主机,我想知道是否有一个选项可以在没有这个的情况下运行composer/artisan命令.
我找到了这个链接:使用Composer而不使用ssh访问服务器(第二个答案),它描述了如何使用http://phpshell.sourceforge.net/运行作曲家
但是,我可以在控制台等中更改文件夹.但我无法运行php命令 - 我总是得到内部服务器错误.
我想使用websockets与laravel / node / redis建立一个基本的全局(无房间)聊天。
我遵循了本教程:http : //blog.nedex.io/laravel-5-1-broadcasting-events-using-redis-driver-socket-io/
从拉拉维尔发出事件没问题:我有这样的事情
event(new UserJoined('x Joined The Chat'));
Run Code Online (Sandbox Code Playgroud)
这是我的路线
Route::get('/', function () { ... });
Run Code Online (Sandbox Code Playgroud)
到目前为止,此方法运行良好。这是我的节点服务器:
redis.on('message', function(channel, message) {
message = JSON.parse(message);
io.emit(channel + ":" + message.event, message.data);
});
Run Code Online (Sandbox Code Playgroud)
最后是客户部分
socket.on('test-channel:App\\Events\\UserJoined', function(data) {
console.log( 'User joined', data.username )
});
Run Code Online (Sandbox Code Playgroud)
我现在面临的问题是:当用户/客户端发出某些东西时,我可以执行php / laravell代码吗?还是只能为此使用node.js服务器?
例:
socket.emit('test-channel:App\\Events\\Message',
{
username:username
}
);
Run Code Online (Sandbox Code Playgroud)
我希望不仅将消息发送给其他“ chatter”,而且还发送给我的php后端。
我正在尝试构建一个灵活的轮播控件,允许内部元素强制更改幻灯片,以及轮播控制自身更改幻灯片
我页面中的示例结构如下所示
<my-carousel>
<div class="slide">
<button @click="$emit('next')">Next</button>
</div>
<div class="slide">
<button @click="$emit('close')">Close</button>
</div>
</my-carousel>
Run Code Online (Sandbox Code Playgroud)
我的旋转木马的模板就像
<div class="carousel">
<div class="slides" ref="slides">
<slot></slot>
</div>
<footer>
<!-- other carousel controls like arrows, indicators etc go here -->
</footer>
</div>
Run Code Online (Sandbox Code Playgroud)
和脚本一样
...
created() {
this.$on('next', this.next)
}
...
Run Code Online (Sandbox Code Playgroud)
访问幻灯片等没有问题,但使用$ emit将无法工作,我似乎无法找到解决此问题的简单方法.
我希望组件可以轻松重用,而不必使用
我正在发送一个带有php邮件的网址列表.问题是只有一个链接被转换.但是,当我尝试只发送这一个链接 - 它的工作原理.
结果此刻:
....
https://scontent! .cdninst agram.com/hphotos-xpf1/t51.2885-15/s150x150/e15/11049164_453900378092870_2016147159_n.jpg
....
Run Code Online (Sandbox Code Playgroud)
想要的结果
...
https://scontent.cdninstagram.com/hphotos-xpf1/t51.2885-15/s150x150/e15/11049164_453900378092870_2016147159_n.jpg
....
Run Code Online (Sandbox Code Playgroud)
你可以看到!并出现一些空格
这是我的代码:
$to = 'my@mail.de';
$subject = 'mySubject';
$arr = json_decode($string, true);
$message = '';
$arr = $arr['data'];
foreach ($arr as &$value) {
$message .= $value.'<br />';
}
$headers = 'From: order@mypage.de' . "\r\n" .
'Reply-To: info@mypage.de' . "\r\n" .
'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
mail($to, $subject, $message, $headers);
Run Code Online (Sandbox Code Playgroud)
字符串看起来像这样:
$string = '{"data": ["https://scontent.cdninstagram.com/hphotos-xpf1/t51.2885-15/s150x150/e15/11049164_453900378092870_2016147159_n.jpg"]}';
Run Code Online (Sandbox Code Playgroud)
我正在从json字符串解码url.使用单个时工作正常.我正在测试大约30个链接,只有这一个链接被破坏.
想法?
更新: …
我尝试使用Windows 8上的visual studio 2013终极版在我的windowsphone应用程序中实现Admob.
当我尝试实现dll时,我得到的错误是sais,我无法为更高版本添加参考或实现不兼容的程序集......
当我使用示例代码时,我得到它的工作,但只有错误,找不到命名空间(仍然以某种方式工作) - 但是,我不能再使用设计器,直到错误得到修复...任何想法?
谢谢
Carbon提供函数weekOfYear以将一年中的星期作为整数.但是,我需要反过来根据年份+一周的时间来获取日期.
Carbon::now()->weekOfYear(); // todays week of the year
Run Code Online (Sandbox Code Playgroud)
例如
因此,我需要这周的开始和结束日期.但是我在Carbon文档中找不到合适的函数
我在测试中有一个设置功能,它执行以下操作
function setUp()
{
$this->user = factory(User::class)->create();
}
Run Code Online (Sandbox Code Playgroud)
我使用过"use App\User;" 在最顶端.
这是我的模型工厂
/** @var \Illuminate\Database\Eloquent\Factory $factory */
$factory->define(App\User::class, function (Faker\Generator $faker) {
static $password;
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'password' => $password ?: $password = bcrypt('secret'),
'remember_token' => str_random(10),
];
});
Run Code Online (Sandbox Code Playgroud)
当runnning phpunit我得到错误
InvalidArgumentException: Unable to locate factory with name [default] [App\User].
Run Code Online (Sandbox Code Playgroud)
但是:如果我去php工匠修补一下
factory(User::class)->create();
Run Code Online (Sandbox Code Playgroud)
它工作...我尝试了App\User :: class和其他东西,甚至直接把它放在测试中而不是setUp方法.奇怪的是,同一文件中的另一个工厂正在运行.
我有这样的控制器功能
public function show(NovelRequest $request, Novel $novel)
{
// load the chapters
$novel->chapters;
// return the detail view of a novel
return view('novels.show', compact('novel'));
}
Run Code Online (Sandbox Code Playgroud)
我收到一个新的对象,因为我使用路由模型绑定.但是,我想加载的不仅仅是章节.因为如果我现在做类似的事情会引起很多请求
$novel->chapters;
$novel->bookmarks;
...
Run Code Online (Sandbox Code Playgroud)
当我已经拥有这个小说的对象时,我想知道是否有一种加载"多重"关系的方法.通常我会喜欢
Novel::with('chapters', 'bookmarks')-> ...
Run Code Online (Sandbox Code Playgroud)
但是,我已经有了这个新颖的物体,所以我不想第二次看.
我有一个命名空间 vuex 存储,它根据当前路由的参数返回存储的条目。
import Router from '../../router/index'
const options = {
routeIdentifier: 'stepId'
}
export function fromRoute(state) {
if (!options.routeIdentifier || !Router.currentRoute.params) {
return null
}
return state.all.find(element => {
return element.identifier === Router.currentRoute.params[options.routeIdentifier]
})
}
Run Code Online (Sandbox Code Playgroud)
这对于初始负载来说按预期工作。但是,每当路线发生变化时,它都不会重新加载。
有没有办法在路线改变时重新加载/强制重新计算吸气剂?