相关疑难解决方法(0)

什么是PHP中的抽象类?

什么是PHP中的抽象类?哪里可以使用?

php oop abstract-class

110
推荐指数
5
解决办法
10万
查看次数

何时使用if-else if-else over switch语句,反之亦然

为什么要switch在一系列if语句中使用块?

switch 语句似乎做同样的事情,但需要更长的时间来输入.

switch-statement

81
推荐指数
3
解决办法
9万
查看次数

在Laravel中放置/如何处理枚举?

Laravel有一个<select>表单助手,它将字典作为输入.我喜欢把所有这些的价值保持在一个中心位置.例如,我可能有一个看起来像这样的枚举:

$phoneTypes = [
    'CELL' => "Cellular",
    'HOME' => "Home",
    'WORK' => "Work",
];
Run Code Online (Sandbox Code Playgroud)

我想在我的视图/模板和数据库中使用它:

Schema::create('customers', function (Blueprint $table) {
    $table->increments('id');
    $table->enum('pri_phone_type',array_keys($phoneTypes));
    ...
});
Run Code Online (Sandbox Code Playgroud)
  1. 有推荐的地方放这些吗?
  2. 我可以将它们设为全局,以便我可以在所有视图中轻松访问它们吗?

php enums laravel

50
推荐指数
6
解决办法
5万
查看次数

PHP是否具有结构或枚举,如果不是,它们的最佳实现是什么?

NOTICE!: This question is not a duplicate: I have provided below an alternative and highly useful enumeration method that accomplishes the desired effect - 11/13/2013

typedefPHP中是否有关键字,以便我可以执行以下操作:

typedef struct {

} aStructure;
Run Code Online (Sandbox Code Playgroud)

要么

typedef enum {
  aType1,
  aType2,
} aType;
Run Code Online (Sandbox Code Playgroud)

编辑

我最终在下面回答了我自己的问题(跳过第一个最近的回答).我创建了一个自定义enum函数,完全满足我的要求,但没有类型定义.

php enums struct typedef

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

如何在PHP中实现类似Enum的功能?

如何在PHP中使用类似Enum的功能(如Java和其他高级语言中提供的那样)?我知道PHP目前不允许你创建枚举,但最接近的是什么?

php

15
推荐指数
4
解决办法
3万
查看次数

配置存储设置[文件与数据库]

我看到程序员将大量信息放入数据库中,否则这些数据库可能放在一个包含数组的文件中.他们将使用许多SQL表,而不是数组,我认为这些表更慢.

CitrusDB在数据库中有一个名为"holiday"的表.该表只包含一个名为"holiday_date"的日期列,该日期列包含假日日期.我们的想法是让用户在表格中添加假期.柑橘和我在工作场所工作的程序员更愿意将所有这些信息都放在表格中,因为它是"标准的".

除非您允许用户通过用户界面添加假期,否则我不明白为什么会这样.我感觉有些东西我不见了.

php mysql

14
推荐指数
2
解决办法
1732
查看次数

替代PHP5中的枚举类型?

我有一个PHP5对象将消息传递给另一个,并希望为每个消息附加一个类型.例如,MSG_HOTMSG_WARM,和MSG_COLD.如果PHP5有一个枚举类型,我可能会用它来定义消息类型,但(除非我错了)没有这样的动物.我看了几个选项:

字符串('MSG_HOT','MSG_WARM''MSG_COLD')是不好的,因为我不可避免地会输入类似的东西'MSG_WRAM',事情会破裂.数字遇到同样的问题,也不太清楚.

定义工作:

define('MSG_HOT', 1);
define('MSG_WARM', 2);
define('MSG_COLD', 3);
Run Code Online (Sandbox Code Playgroud)

但污染全局命名空间,因此需要更详细的名称来确保唯一性.我宁愿不让我的代码乱丢东西APPLICATIONNAME_MESSAGES_TYPE_HOT.

最后,我可以使用类名来区分类型,如下所示:

class MessageHot extends Message {}
class MessageWarm extends Message {}
class MessageCold extends Message {}
class Message
{
    public function Type()
    {
        return get_class($this);
    }
    public function Data()
    {
        return $this->data;
    }
    public function __construct($data)
    {
        $this->data = $data;
    }
    private $data;
}
Run Code Online (Sandbox Code Playgroud)

我认为这很好,但对于看起来应该是一个简单的概念也是很多工作.

我错过了一个更好的选择吗?

php enums

9
推荐指数
2
解决办法
6515
查看次数

if($ ext ==('zip'||'png')){echo"有可能吗?" }

我现在正在编写一个下载管理器,我问自己是否可能:

if($ext == ('zip' || 'png')) { echo "Is it possible ?" }
Run Code Online (Sandbox Code Playgroud)

它每次都返回true,所以我想这是不可能的.但是你知道我怎么能轻易做到这一点吗?我的意思是,没有足够的"if"或"switch"......

不管怎么说,还是要谢谢你 !:)

php operators conditional-statements

8
推荐指数
3
解决办法
921
查看次数

使用枚举进行类型提示?

我在这里阅读了有关枚举及其“实现”的内容

PHP 和枚举

重点是,为什么要使用枚举,而不是用于类型提示?

但此实现不允许使用类型提示。因为枚举条目都是字符串。

我有什么办法可以说

function($a) {

}
Run Code Online (Sandbox Code Playgroud)

$a必须是'foo','bar''baz'

在 PHP 中?

我使用 phpstorm/intellij 所以如果有另一种方法可以做到这一点,那也很好。例如,在文档中说,但是使用 phpstorm 的自动完成魔法,或者可能是编译错误。

php enums type-hinting

6
推荐指数
2
解决办法
5490
查看次数

如何将DB中的枚举与PHP代码同步?

具有数百个表的数据库通常会在其中定义更少的枚举/集合.
你如何将你的PHP代码与枚举值同步,以避免在代码中使用字符串文字(我们都知道它似乎更容易,但从长远来看会导致愚蠢的错误).
我能想到的唯一好的解决方案是在项目构建期间使用一个过程,该过程将为DB中的所有枚举生成常量,或者使用这些值创建和编译PHP扩展.
有什么不同的,更好的解决方案吗?

php mysql enums constants build

5
推荐指数
1
解决办法
158
查看次数