PHP $this返回对象

return $this 你只需要知道它就是返回 本对象给你写一个简单的实例吧/**  * sum 类用于计算两个数的和.  */
class sum{
    private $num1;
    private $num2;
    public function num1($n){
        $this->num1=$n;
        return $this;
    }
    public function num2($n){
        $this->num2=$n;
        return $this;
    }
    public function sum(){
        return $this->num1+$this->num2;
    }
}

$sum=new sum();
$sum->num1(10)->num2(5)->sum();
$sum->num1(10) 它将数值1 赋给了成员属性 返回本对象 即 $sum后面的操作就等于是 $sum->num2(5)  再返回 $sum这两就给两个成员属性赋好值了,只需要再调用一下 sum 方法就可以得到两个数的值
当你用到面向对象的多对多,一对多,多对一这种多级关联时,return $this就有意义,现在很多框架都采用了rails 的一些理念,特别的对数据库的操作时,多级集联优势就来了,而且利于理解,维护,最大的问题主要还是性能上可能会差点,但不是很大的项目,没问题的
时间: 2024-10-06 15:58:49

PHP $this返回对象的相关文章

返回对象的方法总结

//错误! //返回的是local对象,但已被销毁 const string& getDog() { string dog = string( "Budi" ); return dog; } //不推荐,应尽量避免使用new //返回申请在heap上的对象 const string& getDog() { string* dog = new string( "Budi" ); return *dog; } //ok //直接返回对象 [额外开销:经过

PHP get_class 返回对象的类名

get_class (PHP 4, PHP 5) get_class — 返回对象的类名 说明 string get_class ([ object $obj ] ) 返回对象实例 obj 所属类的名字.如果 obj 不是一个对象则返回 FALSE. Note: 在 PHP 扩展库中定义的类返回其原始定义的名字.在 PHP 4 中 get_class() 返回用户定义的类名的小写形式,但是在 PHP 5 中将返回类名定义时的名字,如同扩展库中的类名一样. Note: 自 PHP 5 起,如果在对

HQL查询——查询返回对象类型分析

关于HQL查询,我们可以结合hibernate的API文档,重点围绕org.hibernate.Query接口,分析其方法,此接口的实例对象是通过通过session.对象的creatQuery(String hql)方法得到的.我这里要分析HQL的select子句,当然要想深入HQL查询,我们就必须了解hibernate缓存的知识. 一.选择--Select子句查询返回对象的讨论 为什么只说Select子句,因为我们使用的hibernate框架是基于java语言环境下进行开发的,也就是说hibe

条款21:必须返回对象时,别妄想返回其reference

条款21:必须返回对象时,别妄想返回其reference 引用只是对象的一种别名当使用引用的时候,请确认他的另一个身份在哪? class Rational { public: Rational(int x, int y) : m_x(x), m_y(y){} //返回const是属于类型保护,friend修饰,以后条款详说 friend const Rational operator + (const Rational &lhs, const Rational &rhs) { Ration

Spring MVC返回对象JSON

@RestController 用于返回对象,会自动格式化为JSON @RequestMapping("/user2") public User2 user2(Model model){ model.addAttribute("content", hello + "(第二种)"); User2 user=new User2(); user.setId(1); user.setName("tomas"); user.setPwd

SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法

1.SpringMVC中通过@ResponseBody返回对象,作为JQuery中的ajax返回值 package com.kuman.cartoon.controller; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.commons.io.filefilter.FalseFileFilter; import org.slf4j.Logger; import org.s

Effective C++:条款21:必须返回对象时别妄想返回其reference

(一) 一定要避免传递一些references去指向其实并不存在的对象. 看下面这个类: class Rational { public: Rational(int numerator = 0, int denominator = 1); private: int n, d; friend const Rational operator*(const Rational& lhs, const Rational& rhs); }; 这个函数不能返回引用, (二)在stack中分配local对

javascript 对象初探(二)--- 返回对象的函数

除了使用new操作符调用构造函数以外,我们也可以抛开new操作符,只用一般函数来创建对象,这样就能执行某些预备工作,并已对象为返回值的函数.. function her(){ return { name : 'Jon' }; } 然后我们调用her()来生成对象: var a = her(); a.name; // Jonconsole.log(a.constructor);// function Object(){} 实际上构造函数也是可以返回对象的,只不过this的值使用上将会有所不同. f

Item 21:需要返回对象时,不要返回引用 Effective C++笔记

Item 21: Don't try to return a reference when you must return an object Item 20中提到,多数情况下传引用比传值更好.追求这一点是好的,但千万别返回空的引用或指针. 一个典型的场景如下: class Rational{ int n, d; public: Raitonal(int numerator=0, int denominator=1); }; // 返回值为什么是const请参考Item 3 friend con

服务返回对象的设计

服务返回对象的设计 服务层的定义 本文中,服务层指暴露给其他进程调用的外部接口的集合. 英文单词含义 service:服务response:服务返回对象request:服务请求对象 服务调用模型 在同一个线程内,现代计算机语言一般会提供异常捕获(try-catch)机制,模型如图1 . 在这个模型中,response只需包含业务数据, 异常情况用异常捕获机制处理. ----------------- request / / response ------------> / service / -