我在PHP中使用OOP相对较新.它对我的代码的组织和维护有很大的帮助,但我希望能够更好地设计我的类并尽可能高效地使用OOP.我已经阅读了Gang of Four Design Patterns一书,但仍然需要一些帮助.在构建了一些小应用程序后,这是我一直在运行的一件事.
假设我正在构建一个跟踪学校注册信息的应用程序.
我目前接近这个student方法的方法是在一个学生的记录中有一个被调用的类,以及该类中用于CRUD的方法.似乎合乎逻辑的是,我将这个类的构造函数方法student_id作为参数,因此我可以在对象内为所有这些不同的CRUD操作引用它.
但是,随着我继续构建应用程序,我遇到了需要运行返回多个学生的查询的情况.举例来说,像,get_all_students_from_grade($grade),get_dropdown_of_all_students()等等,这些方法并不适用于只是一个学生,所以它似乎很奇怪,我将让他们在我的方法student类,因为我实例化对象的一个student_id考虑.显然我可以通过这种方式使它工作,但似乎我做错了.解决这个问题的最佳方法是什么?
我有一个包含通用HTML标头的Web应用程序,所以我想在每个页面中放置特定于页面的脚本,而不是为所有内容加载它.我试着document.ready()靠近页面的末尾,<body>似乎工作正常.把它放在那里而不是在里面有任何潜在的危险<head>吗?
特定
$(".foo").editable("script.php")
Run Code Online (Sandbox Code Playgroud)
如何将.foo父级的ID 作为参数传递?我试过了
$(".foo").editable("script.php", {
submitdata: {
parent_id: $(this).parent().attr('id')
}
});
Run Code Online (Sandbox Code Playgroud)
以及我能想到的每一个变体,但看起来好像$(this)对象在这种情况下不起作用.
我正在考虑实施EC2的Elastic Load Balancing功能,但我正在运行一个经常更改的Web应用程序(并在LAMP堆栈上运行),并想知道最常见的策略是保持应用程序在负载均衡的服务器之间保持同步.数据库将存在于其他地方,因此我只担心(此时)关于在进行更改时保持实际脚本同步.
我有一个名为MySQL的表employees.有一个称为另一个表shifts是绑employees在employeeId列和一个一对多的关系.我想克隆一个员工和他的班次INSERT- 所以employee克隆了行,并且克隆了shifts所有并且为新的生成了新的自动递增主键employee.这可能在一个查询中?
鉴于查询'SELECT foo FROM bar WHERE a = x AND b = y OR c = z',它如何解析此查询?
(a = x AND b = y) OR c = z?
a = x AND (b = y OR c = z)?
这是一个简单的例子,但是如果你正在混合和匹配AND/OR甚至更多的搜索条件呢?
假设我有以下页面:
<html>
<body>
<div id='foo' style='scroll:auto;height:400px'>
// content, content, content...
<div id='bar'></div>
// content, content, content...
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我可以使用什么jQuery(或vanilla Javascript),以便在页面加载时,它仅在div#foo(而不是整个页面)内跳转到#bar ?我不需要花哨的动画或滚动,我只是希望#bar在页面加载时位于div的顶部.
我是OOP的新手,我很难掌握getter方法的必要性.
在示例中:
class foo {
$this->bar = "test";
}
$foo = new foo();
echo $foo->bar;
Run Code Online (Sandbox Code Playgroud)
假设我使用setter方法正确验证更新后的值,那么在这种情况下有哪些潜在的缺陷?
这个查询:
SELECT staff.staff_id, COUNT(references_table.staff_id)
FROM staff
LEFT JOIN references_table USING (staff_id)
Run Code Online (Sandbox Code Playgroud)
返回:
staff_id COUNT(references_table.staff_id)
1 2
Run Code Online (Sandbox Code Playgroud)
我怎么能让它返回0,因为staff_ids没有任何引用的计数?
我有一个带有'打印机友好'按钮的页面,它使用jQuery的.css()方法从特定元素中删除一些背景和边框,并更改字体大小.我可以设置另一个.css()方法来将所有内容更改回原来的样式,但有没有简单的方法可以将页面上的所有内容恢复为原始CSS(除了刷新页面)?
我正在尝试设置以下mailto:link:
<a href='mailto:info@example.com?subject=Testing&body=http://www.google.com?foo=1&bar=2'>Send mail</a>
Run Code Online (Sandbox Code Playgroud)
然而,第二个参数(bar)被切断,因为它被视为mailto链接的参数而不是我正在放入正文的链接.我试过&但它做了同样的事情,因为它被渲染到链接中.