在CSS里method是啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在CSS里method是啥意思相关的知识,希望对你有一定的参考价值。
不是CSS里的,这是form标签里面一个属性,作用是将表单中的数据传送给服务器进行处理 参考技术A HTML <form> 标签的 method 属性1、定义和用法:
method 属性规定如何发送表单数据(表单数据发送到 action 属性所规定的页面)。
表单数据可以作为 URL 变量(method="get")或者 HTTP post (method="post")的方式来发送。
如:<form action="form_action.asp" method="get">
2、浏览器使用 method 属性设置的方法将表单中的数据传送给服务器进行处理。共有两种方法:POST 方法和 GET 方法。
如果采用 POST 方法,浏览器将会按照下面两步来发送数据。首先,浏览器将与 action 属性中指定的表单处理服务器建立联系,一旦建立连接之后,浏览器就会按分段传输的方法将数据发送给服务器。
在服务器端,一旦 POST 样式的应用程序开始执行时,就应该从一个标志位置读取参数,而一旦读到参数,在应用程序能够使用这些表单值以前,必须对这些参数进行解码。用户特定的服务器会明确指定应用程序应该如何接受这些参数。
另一种情况是采用 GET 方法,这时浏览器会与表单处理服务器建立连接,然后直接在一个传输步骤中发送所有的表单数据:浏览器会将数据直接附在表单的 action URL 之后。这两者之间用问号进行分隔。
一般浏览器通过上述任何一种方法都可以传输表单信息,而有些服务器只接受其中一种方法提供的数据。可以在 <form> 标签的 method (方法)属性中指明表单处理服务器要用方法来处理数据,使 POST 还是 GET。本回答被提问者采纳
“return $this”是啥意思?
【中文标题】“return $this”是啥意思?【英文标题】:What does "return $this" mean?“return $this”是什么意思? 【发布时间】:2011-08-22 20:31:43 【问题描述】:我试图理解这段代码,但当我到达最后一行时,我没有明白。 :(
我可以请你帮忙看看,return $this
是什么意思?
public function setOptions(array $options)
$methods = get_class_methods($this);
foreach ($options as $key => $value)
$method = 'set' . ucfirst($key);
if (in_array($method, $methods))
$this->$method($value);
//???? - return what ?
return $this;
更新: 为了更清楚地说明,我删除了我的 cmets。
【问题讨论】:
[11072965][1] [1] 的可能副本:***.com/questions/11072965/… 这意味着很多朋友。 【参考方案1】:这种编码方式称为fluent interface。 return $this
返回当前对象,所以你可以这样写代码:
$object
->function1()
->function2()
->function3()
;
代替:
$object->function1();
$object->function2();
$object->function3();
【讨论】:
在 php 中,调用是否必须像这样在单独的行上?我经常在这样的一行中看到链式调用: $object->chop()->putInBowl()->bakeForTen();用PHP不行吗? 它们不需要,但我发现这种方式更具可读性 - 包括将分号单独放在一行中。 为了方便,我们可以在所有方法的末尾加上return $this
吗?
你需要考虑你的类的使用——如果你可能会在一个之后调用它的多个方法,那么使用方法链接会很方便。一个完美的例子是 Doctrine 的 Doctrine_Query
类。
我明白了,当我们执行 create()->from()->where()->leftJoin()... 每一个实际上都是方法。很不错。 :)【参考方案2】:
这将返回调用此方法的实例。这通常是为了实现fluent interfaces,所以你可以调用类似的东西:
CoolClass::factory('hello')->setOptions(array('coolness' => 5))->sayHello();
setOptions
和 sayHello
将在同一个对象上调用。
【讨论】:
【参考方案3】:$this
表示当前对象,即当前正在运行该方法的对象。通过返回$this
,该方法正在工作的对象的引用被发送回调用函数。
所以任何人都在做
$foo2 = $foo->SetOptions($bar);
$foo2 现在也指代 $foo。
【讨论】:
【参考方案4】:你可以创建一个函数链
class My_class
public function method1($param)
/*
* logic here
*/
return $this;
public function method2($param)
/*
* logic here
*/
return $this;
public function method3($param)
/*
* logic here
*/
return $this;
所以你可以使用它
My_class obj = new My_class();
$return = obj->method1($param)->method2($param)->method3($param);
【讨论】:
【参考方案5】:$this 将是包含该函数的类。
如果你这样称呼它:
$obj->setOptions($options)
它将返回 $obj,它已使用新选项进行设置。一般来说,当这样设置时,您不必捕获返回,因为它会影响对象本身,但它会产生它以便您可以内联使用它。
【讨论】:
我喜欢您的说明,即您不必捕获回报。这就是我一直在寻找的。span> "$this 将是类..." - 不是类。它是对象实例。【参考方案6】:如果 SetOptions 方法是 ProgramOptions 类或其他东西的一部分,则 $this 将引用包含该方法的类,因此您将传回 ProgramOptions 的实例。
【讨论】:
【参考方案7】:这是一种常见的 OOP 技术,称为 Fluent Interface。它的主要目的是帮助在不支持方法级联的语言(如 PHP)中链接多个方法调用。所以
返回 $this;
将返回该类的更新实例(对象),以便它可以在其范围内进行另一个调用。请参阅 PHP 中的示例,
class Class_Name
private field1;
private field2;
private field3;
public function setField1($value)
$this->field1 = $value;
return $this;
public function setField2($value)
$this->field2 = $value;
return $this;
public function setField3($value)
$this->field3 = $value;
return $this;
$object = new Class_Name();
$object->setField1($value1)->setField2($value2)->setField3($value3);
【讨论】:
以上是关于在CSS里method是啥意思的主要内容,如果未能解决你的问题,请参考以下文章
NodeJS / Express 中的“module.exports”和“exports.methods”是啥意思?