小编Tru*_*ufa的帖子

PHP中的OOP方法

我在程序上用PHP编程(这是一个单词吗?)大约五年了,并决定尝试一种OOP方法,但遇到了一些概念/设计问题.假设您在程序中有一些模块,每个模块都可以列出,添加,编辑和删除实体.一个实体可以是..不知道,用户,客户,产品等.

你将如何设计类来操纵这些实体?

我想到了两种可能性:

  • 使用getUsersList,addUser,editUser,delUser等方法为每个实体创建类
    这种方法似乎是资源消耗,因为在列表的脚本中你只需要getUsersList和delUser方法,而在add user popup脚本中,你只需要addUser方法并且在编辑用户弹出脚本中只有editUser方法.所以,你必须实例化一个对象,只使用其中的两个或一个方法......
  • 创建通用类:列出,添加,编辑和删除并为每个实体扩展它们,这样你只需要一次实例化一个类(你真正需要的那个)

提前致谢,

php oop

3
推荐指数
1
解决办法
1764
查看次数

如何在单击时获取形状的标记

假设我在Tkinter应用程序中创建了一个画布.

在画布中,我绘制了几个矩形.

我本质上想要的是知道用户点击了哪个矩形,这是我的主要关注点,但这是我尝试过的,我认为可能是解决方案.

这是我的布局:

for x in range(1,6):
        for y in range(1,7):     
            tableNumber = y + 6*(x-1)
            w.create_rectangle((table.xSeparation + table.width) * y - table.width,
                               (table.ySeparation + table.height) * x -  table.height,
                               (table.xSeparation + table.width)*y,
                               (table.ySeparation + table.height) * x,

                               fill="brown", tags="table" + str(tableNumber))

            w.tag_bind("table" + str(tableNumber), '<Button-1>', do)
Run Code Online (Sandbox Code Playgroud)

所以这只是在行和列布局中创建矩形.

每个矩形都有一个特定的标签,形式为table1,table2to table30.

当我单击矩形时,该do函数执行.

让我们说do就像这样:

def do(event):
    print "click"
Run Code Online (Sandbox Code Playgroud)

对于矩形中的每次单击,我都不会在控制台中获得"单击".

我希望能够获得点击矩形的标签,以便能够执行以下操作:

def do(event):
    print str(theTagOfTheClickedRectangle)
Run Code Online (Sandbox Code Playgroud)

所以我查看了我可以调用哪些事件:

  • 小部件
  • x,y
  • x_root,y_root
  • 烧焦
  • 键符
  • 关键代码
  • NUM
  • 宽度,高度
  • 类型 …

python events user-interface tkinter click

3
推荐指数
1
解决办法
1912
查看次数

是否可以从字符串模板文字内部推断泛型类型

下面的代码完全符合我想要知道的功能,但有一点需要注意,我想避免必须明确它所需的泛型。

type EventGroup = {
  actions: "run" | "save"
  other: "bla"
}

export type EventType<T extends keyof EventGroup> = `${T}/${EventGroup[T]}`

const t: EventType<"actions"> = "actions/run"
Run Code Online (Sandbox Code Playgroud)

我希望 Typescript 能够推断出:

`actions/run` -> valid
`actions/save` -> valid
`actions/bla` -> NOT valid
`other/bla` -> valid
Run Code Online (Sandbox Code Playgroud)

这就是这段代码的作用,但具有显式泛型。

javascript generics type-inference typescript typescript-generics

3
推荐指数
1
解决办法
193
查看次数

简单的HTML标准问题,DOCTYPE混淆了CSS

一个非常基本的问题:

当我在.html文档的开头包含DOCTYPE时:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Run Code Online (Sandbox Code Playgroud)

它只会破坏页面的一小部分风格.

在这里你可以看到一个实例:

没有DOCTYPE(右) - 使用DOCTYPE(错误)

我认为我有点"知道答案",(除了HTML和CSS似乎是由聪明的黑猩猩编写),问题似乎是我使用的CSS的一些元素不属于我正在使用的DOCTYPE的标准,因此,某些部分没有加载(用简单的英文).

这只是我的猜测,但如果是这种情况,我想知道我使用哪些元素,我不应该(如果具体的话)一个"一般指南"​​,如何使用它们.

提前致谢!

html css doctype

2
推荐指数
1
解决办法
2002
查看次数

检查PHP数组中的重复元素(如果不是空的)

嗨,我可以说我有这个数组:

$check_post = array(

 $_POST["a_post"],
 $_POST["b_post"],
 $_POST["c_post"],
 $_POST["d_post"],
 $_POST["e_post"],
 $_POST["f_post"],
 $_POST["g_post"],
 $_POST["h_post"],
 $_POST["i_post"]

 );
Run Code Online (Sandbox Code Playgroud)

我想检查这个数组的任何元素是否重复,所以我得到的最好的是:

if (count(array_unique($check_post)) < count($check_post))  
    echo "Duplicate";  
else  
    echo "NO Duplicate";
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,除了这个事实,如果多一个textarea留空(允许)它给我假.

我想要的是不要考虑数组的空值 (count(array_unique())

BTW我已经试过empty()array_values($check_post)但我不能绕过它.

提前致谢!!请询问任何必要的澄清.

php arrays if-statement unique

2
推荐指数
1
解决办法
1580
查看次数

在类之间交替添加了jQuery

我有一个3 div,jQuery脚本在单击div时添加一个类:

.red{ background-color: red; }
Run Code Online (Sandbox Code Playgroud)

我想做的是修改jQuery以便一次性.red类添加的下一次就会增加.blue,.red,.blue等...

我的脚本你可以在这个演示中这样:

var $a = $('.box');
$a.click(function(){

        $(this).addClass('red');
});
Run Code Online (Sandbox Code Playgroud)

对不起,我不会分享更多,但我的可怕尝试只会让人感到困惑.

我希望我已经说清楚,如果没有请问!

提前致谢!!

更新:

我认为问题不够明确,所以我会尝试进一步解释.

什么需要基本上是三个div,第一次点击,将点击的div变为红色,第二次将点击变成蓝色,红色等等,他们应该切换(当点击第一次点击时变为红色或蓝色是唯一一个重要的)

jquery addclass class toggle

2
推荐指数
1
解决办法
3296
查看次数

Python - 如何对由/和运算符分隔的变量进行分组

我试图找到一种方法使以下(示例)代码更优雅:

if answer == "yes" or "Yes" or "Y" or "y" or "why not":
    print("yeah")
Run Code Online (Sandbox Code Playgroud)

用同样的方式用英语你不会说:

可能的答案是是或是或否或为什么不是.

你宁愿说:

可能的答案是肯定的,是的,Y或为什么不答案.

这样做更优雅的方式是什么?

提前致谢!!

python operators

2
推荐指数
1
解决办法
689
查看次数

jQuery UI datetimepicker更改日期和时间格式显示在文本中

jQuery:http://trentrichardson.com/examples/timepicker/

用户更改时间后,文本字段显示为20120625 122900.

我想更改20120625122900的格式,日期和时间之间没有空格.

任何人都可以提供一个很好的方式来显示我想要的格式吗?

jquery jquery-ui datetimepicker

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

如何选择除type = password之外的所有输入和textareas

到现在为止我成功使用了这个选择器:

$('input, textarea')
Run Code Online (Sandbox Code Playgroud)

但问题是这也选择了输入 type=password

我知道我可以选择这样的东西:

$("input[type=text],input:not([type]),textarea")
Run Code Online (Sandbox Code Playgroud)

但其他类型呢?

我想选择没有设置type属性的所有输入password.

我试图使用:not选择器但无法成功使用它.

$("input:not(:password)")
Run Code Online (Sandbox Code Playgroud)

似乎没有工作.

jquery jquery-selectors

2
推荐指数
1
解决办法
569
查看次数

如何制作最大宽度的可变宽度电子邮件

我有一个表格元素,将以电子邮件形式发送。

我希望它在Outlook 2010,Android原生gmail和chrome在chrome上渲染。

我希望表格的宽度为100%,最大为600px。

一种解决方案是使用固定设置,并进行媒体查询。

@media screen and (max-width: 600px) {

    table[class="responsive-table"] {
        width: 100% !important;
    }
}
Run Code Online (Sandbox Code Playgroud)

这在android上的chrome上除gmail以外的所有应用程序均能正常工作,它的宽度为600px并溢出屏幕,破坏了整个布局。

因此,我考虑过进行流畅的布局,将100%放置在桌子上,并为其设置最大宽度,但是现在Outlook不尊重最大宽度,因此它看起来太宽了。

因此,我不能使用Fluid,因为它在Outlook上看起来很糟糕,我不能使用Fixed,因为在chrome上的gmail手机上看起来很糟糕。

有什么办法可以使两者看起来都不错吗?是否有此技巧?

html css outlook gmail html-email

2
推荐指数
1
解决办法
5201
查看次数