我的Laravel 5运行正常,直到配置数据库,然后发现此错误:
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
Run Code Online (Sandbox Code Playgroud)
做一些研究似乎我太晚配置了MySQL访问,所以我应该重启服务器以获得正确的环境变量.好吧,我正在使用Dreamhost的共享服务器而我无法做到这一点.
我该如何解决这个问题?
谢谢
我正在尝试为学习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)