在一行语句里调用一个类的多个方法,该怎么写?

txlty 2014-08-27 06:45:04
比如这句:
$this->m_button6PaneInfo->Movable( false )->Dock()->Fixed()->BottomDockable( false )->TopDockable( false )->Layer( 10 )->ToolbarPane();

$this->m_button6PaneInfo 是一个类实例。后面的全是该类的方法。
这条语句是无法通过的,至少我的php版本无法通过。

除了拆成多行外,这条该怎么改?才能正确执行?
或者升级到哪个版本?才可以这样写
...全文
166 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ohmygirl 2014-08-27
  • 打赏
  • 举报
回复
链式操作的前提,每次操作都返回对象本身。
xuzuning 2014-08-27
  • 打赏
  • 举报
回复
这样写
class testcls{
    function fun1(){
        echo 'fun1';
        return $this;
    }
    function fun2(){
        echo 'fun1';
        return $this;
    }
    function fun3(){
        echo 'fun3';
        return $this;
    }
}
$test = new testcls();
$test->fun1()->fun2()->fun3();
txlty 2014-08-27
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
只要那些方法返回的是 $this 那么就不会不能通过
用清晰的代码表述一下:
<?php
class testcls{
	function fun1(){
		echo 'fun1';
	}
	function fun2(){
		echo 'fun1';
	}
	function fun3(){
		echo 'fun3';
	}
}
$test = new testcls();
$test->fun1()->fun2()->fun3();
?>
$test->fun1()->fun2()->fun3(); 这样写不行。 那该怎么写?用一行语句调用3个方法。
xuzuning 2014-08-27
  • 打赏
  • 举报
回复
只要那些方法返回的是 $this 那么就不会不能通过
基于永磁同步电机矢量控制simulink仿真内容概要:本文档围绕永磁同步电机(PMSM)的矢量控制展开,重点介绍了基于Simulink平台构建的永磁同步电机矢量控制仿真模型。内容涵盖多种控制策略,如FOC(磁场定向控制)、SVPWM(空间矢量脉宽调制)、VVVF(变压变频)以及无速度传感器控制等,并提供了包括死区补偿、负载转矩观测、全速域无位置传感器控制在内的多个仿真案例。文档强调通过仿真手段深入理解电机控制系统的动态响应、电流环与速度环调节、坐标变换(如Clark、Park变换)及PI控制器设计等关键技术环节。同时,配套提供完整的Matlab/Simulink仿真资源,便于读者学习与二次开发。 适合人群:具备自动控制理论、电机学及Matlab/Simulink基础的电气工程、自动化及相关专业的本科生、研究生及从事电机控制研发的工程师。 使用场景及目标:① 学习和掌握永磁同步电机矢量控制的基本原理与实现方法;② 利用Simulink进行电机控制系统的建模、仿真与算法验证;③ 为科研项目、课程设计或工程开发提供可复用的仿真模型基础。 阅读建议:建议结合文档提供的仿真模型逐步操作,重点关注控制框图搭建、参数整定与仿真结果分析,同时参考文中提及的扩展资源(如扩展状态观测器、模型预测控制等)以深化对先进控制策略的理解。

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧