我听过所有关于 Rail 持久性引擎 (ActiveRecord) 的讨论。我对它进行了搜索,但我无法真正清楚地了解它的作用。看起来它是一个到数据库的对象映射,但这就是我想到的。如果是这样,他们会将对象保存到数据库中以保持持久性吗?使用这个模型有什么优点?有什么缺点?
谢谢!马特·穆勒
我一直很难找到这个解决方案.我希望你们都能帮助我.
最好用一个例子来描述:
class Parent {
public $nationality;
function __construct($nationality)
{
$this->nationality = $nationality
}
}
class Child extends Parent {
function __construct() {
echo $this->nationality; // hispanic
}
}
// Usage:
$parent = new Parent('hispanic');
$child = new Child();
Run Code Online (Sandbox Code Playgroud)
我希望孩子从已经初始化的父级继承属性和方法.
编辑:谢谢大家的回复 - 让我给你一些背景知识.我正在尝试制作一个模板系统.我有两个类 - 比如Tag.php和Form.php.
我希望它看起来像这样:
class Tag {
public $class_location;
public $other_tag_specific_info;
public $args;
function __construct($args)
{
$this->args = $args;
}
public function wrap($wrapper) {
...
}
// More public methods Form can use.
}
class Form extends Tag …Run Code Online (Sandbox Code Playgroud) 我最近一直在查看卡布奇诺和阿特拉斯,他们似乎已经将相对和绝对的定位抽象为"有效"的东西.我想知道那些熟悉这个项目的人 - 他们是怎么做到的?
我一直认为相对和绝对定位是一种思考定位元素的模糊方式,所以我对此非常好奇.
我可以查看的任何帮助或资源都很棒!
试图找出使用ES6类做这样的事情的语法:
function Component() {
}
Component.prototype.render = style(function() {
});
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止:
class Component {
constructor() {
super()
}
render style(() {
});
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
嘿所有,我只是想知道是否有可能获得在函数内运行的程序的名称?
这是一个例子:
我打电话给:./ runProgram
main() {
A();
}
function A() {
// Possible to retrieve "runProgram" if I cannot use main's argc(argv) constants??
}
Run Code Online (Sandbox Code Playgroud) 我只是想知道它是否可能有这样的东西:
$image = array(
"default" => "test.jpg",
"width" => 400,
"height" => 500
);
Run Code Online (Sandbox Code Playgroud)
然后你可以打电话:
echo $image // test.jpg
echo $image['width'] // 400
Run Code Online (Sandbox Code Playgroud)
谢谢,马特穆勒
我是一个完全正则表达式的菜鸟.我正在使用wordpress,我正拼命地试图处理wordpress的wautop,我讨厌和喜欢(更讨厌!).无论如何我试图删除<p>某些命令周围的标签.
这是我得到的:
<p>
[hide]
<img.../>
[/hide]
</p>
Run Code Online (Sandbox Code Playgroud)
要么
<p>
[imagelist]
<img .../>
<img .../>
[/imagelist]
</p>
Run Code Online (Sandbox Code Playgroud)
这是我想要的:
[hide]
<img.../>
[/hide]
Run Code Online (Sandbox Code Playgroud)
要么
[imagelist]
<img .../>
<img .../>
[/imagelist]
Run Code Online (Sandbox Code Playgroud)
我试过了:
preg_replace('/<p[^>]*>(\[[^>]*\])<\/p[^>]*>/', '$1', $content); // No luck!
Run Code Online (Sandbox Code Playgroud)
编辑:当我正在进行正则表达式时,它仍然只是一个包含文本的变量..它还没有被解析为html.我知道这是可能的,因为我已经通过摆脱图像标签周围的p标签来做到这一点.所以我只需要一个正则表达式来处理将来某个时候将被解析为html的文本. 这是一个类似的问题
谢谢!马特穆勒
我正在制作这个搜索组件,我可以使用javascript加载它,并让它在我加载它的任何地方工作.这个想法是它进行了一次AJAX搜索,所以每次我把它放在页面上时我都不想编写代码.
所以也许在我想要的网页上看起来像这样:
var searchBox = new Search(inputBox);
理想情况下,每次我这样做时,我都不想真正链接样式表.我只是想知道如果我只创建标签并添加如下属性,性能是否会受到重创:
$('<div></div>').css({
'background-color': #002323, etc.
});
Run Code Online (Sandbox Code Playgroud)
我觉得它只是稍微冗长一点,但管理和使用起来会容易得多.
或者你知道更好的方法吗?
也许这个问题正在刷新一个更大问题的表面,这是关于使CSS面向对象.如果存在具有相同名称的css属性,我不希望它弄乱页面上的其他内容.我做的其他一切都是面向对象的.有没有CSS解决方案或方法?
只是想知道是否有PHP只是运行某个类给定文件的名称(controller.php)?
我不想在controller.php中要求,包含或看到它的任何迹象.我只是希望它在那里.
编辑:好的.我的意思是run是在某个隐藏的文件中我说的是... $ class = new Class(); 这样我可以在controller.php中使用$ class
另外:我正在运行PHP 5.3 - 所以我有命名空间和诸如此类的东西.
无论如何这样做?
谢谢!马特穆勒
我有以下场景(简化):
function changeFruit($fruit) {
changeAgain($fruit);
}
function changeAgain($fruit) {
$fruit = "Orange";
}
MAIN:
$fruit = "Apple";
changeFruit($fruit);
echo $fruit // Will show up as "Apple", How do I get it to show up as "Orange"??
Run Code Online (Sandbox Code Playgroud)
编辑:忘记加入.情景不能使用返回声明 - 只是和$变量
谢谢!马特穆勒
我不确定这是一个微不足道的问题,但在PHP类中:
我的课:
class MyClass {
public $var1;
public $var2;
constructor() { ... }
public method1 () {
// Dynamically create an instance variable
$this->var3 = "test"; // Public....?
}
}
Run Code Online (Sandbox Code Playgroud)
主要:
$test = new MyClass();
$test->method1();
echo $test->var3; // Would return "test"
Run Code Online (Sandbox Code Playgroud)
这有用吗?我怎么能让这个工作?PS.我写的很快,所以请忽略我在设置课程或调用方法时所犯的任何错误!
编辑 如何制作我创建私有的这些实例变量?
编辑2 感谢大家的回应 - 每个人都是对的 - 我应该自己测试一下,但是第二天早上我参加了考试,并且在学习的过程中有了这个想法,我想检查一下是否有效.人们一直在暗示其糟糕的OOP - 也许它确实允许一些优雅的代码.让我解释一下,看看你是否仍然这么认为.这是我想出的:
//PHP User Model:
class User {
constructor() { ... }
public static find($uid) {
$db->connect(); // Connect to the database
$sql = "SELECT STATEMENT ...WHERE id=$uid LIMIT …Run Code Online (Sandbox Code Playgroud) 我试图找出如何知道对变量做了什么.
这是一个例子:
function a($hello) {
$out .= strtoupper(ucwords(strtolower($hello)));
return $out;
}
echo function_trace('$hello') // returns array(strtoupper,ucwords,strtolower)
Run Code Online (Sandbox Code Playgroud)
谢谢!马特
我正在尝试更改默认路径或添加网络服务器查找图像的路径.我真的很想在PHP中做一个解决方案,而不是在htaccess中.
最基本的例子是试图"打破"当前的实现,所以说我有一个目录,其中包含以下内容:
主要/
在index.php:
<?php
// Change the directory WAY out of current directory
chdir('../../../');
echo getcwd(); // DEFINITELY NOT where image.png is located
?>
<img src="image.png" width="402" height="265" alt="1">
<!-- WHY ARE YOU STILL RENDERING?!?! -->
Run Code Online (Sandbox Code Playgroud)
如果您理解我的观点或者您有任何疑问,请告诉我.
谢谢大家!马特穆勒
php ×7
javascript ×2
abstraction ×1
activerecord ×1
atlas ×1
babeljs ×1
c ×1
cappuccino ×1
chdir ×1
class ×1
css ×1
debugging ×1
default ×1
directory ×1
ecmascript-6 ×1
function ×1
inheritance ×1
jquery ×1
oop ×1
persistence ×1
positioning ×1
regex ×1
wordpress ×1