小编god*_*way的帖子

重新加载.env变量而不重启服务器(Laravel 5,共享主机)

我的Laravel 5运行正常,直到配置数据库,然后发现此错误:

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
Run Code Online (Sandbox Code Playgroud)

做一些研究似乎我太晚配置了MySQL访问,所以我应该重启服务器以获得正确的环境变量.好吧,我正在使用Dreamhost的共享服务器而我无法做到这一点.

我该如何解决这个问题?

谢谢

php mysql dreamhost laravel laravel-5

27
推荐指数
6
解决办法
7万
查看次数

工厂设计模式实施疑点

我正在尝试为学习OOP而创建一个用于Telegram信使的机器人.我真的迷失了如何解决这个问题.我有一个Message实体,包含所有的getter和setter,我认为这是非常直截了当的.我的问题是我想创建两种(或更多)类型的工厂

1)一条简单的消息,您只需要向您发送要发送消息和文本的chat_id的工厂,可能是这样的:

<?php

namespace Telegram\Domain\Factory;

use Telegram\Domain\Entity\Message;

class MessageRaw extends MessageAbstract {
    public function createMessage($chat_id, $text) {
        $message = new Message();
        $message->setChatId($chat_id);
        $message->setText($text);

        return $message;
    }
}
Run Code Online (Sandbox Code Playgroud)

MessageAbstract的位置

<?php

namespace Telegram\Domain\Factory;

abstract class MessageAbstract {
    abstract public function createMessage($chat_id, $text);
}
Run Code Online (Sandbox Code Playgroud)

2)带键盘消息(Telegram使您可以在发送消息时包含自定义键盘).我有问题,键盘是作为一个数组给出的,所以这将是createMessage的另一个参数.

所以我的问题是,我应该总是给出$ keyboard参数,无论是简单的消息还是带键盘的消息?或者这两种类型的消息是否足够不同,以便它们应该从不同的类创建(我想不是)?或者也许我不应该在工厂里做这件事,但是不应该使用制定者和吸气剂?

TLDR:如何以奇特的方式创建具有不同数量的参数的对象,如下所示

$MessageRaw = new MessageRaw($chat_id, $text);
$MessageNumericKeyboard = new MessageNumericKeyboard($chat_id, $text); //numeric keyboard is standard so can be set in the createMessage Function
$MessageCustomKeyboard = new MessageCustomKeyboard($chat_id, $text, ['A', …
Run Code Online (Sandbox Code Playgroud)

php oop factory-pattern

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

标签 统计

php ×2

dreamhost ×1

factory-pattern ×1

laravel ×1

laravel-5 ×1

mysql ×1

oop ×1