使用过CI框架,发现在控制器中加载模型很方便,直接使用$this->my_model_name->my_method(),即$this->[类库名称]->[类库方法];

我在自己搭建的一个框架中也想达到同样效果,但是失败,只能将new出来的类库存入属性中,再使用$this->model->my_method(),即$this->[类属性名]->[类库方法]。

考虑过使用可变变量,将传入的类库名存入属性中,然后将new出来的对象存入该属性的可变变量中,这样$this->类库名 就相当于$this->属性名了,都能得到new出来的对象,但是报错:

class A

{

public $libaray;

public function load($className)

{

//将类库名存入属性

$this->libaray = $className;

//获取类库的文件名/命名空间

$class = $className.'.php';

//将new出来的类库存入$libaray

$this->$libaray = new $class;

}

}

但是这样会报错,提示未定义变量$libaray,也就是在利用可变变量这里出错。是我对可变变量理解有问题吧?官方文档中说明:http://php.net/manual/zh/lang...

注意,在 PHP 的函数和类的方法中,超全局变量不能用作可变变量。$this 变量也是一个特殊变量,不能被动态引用。

这说明$this不能使用动态变量?

php类库下载下来怎么使用,PHP如何实现$this-[类库名称]-[类库方法]。相关推荐

  1. 安全获取QueryString的值类库下载

    最近封装了很多类库,但由于时间关系,未整理,现发一个获取QueryString类库的给大家使用希望大家提出宝贵的意见.相关类库下载 转载于:https://www.cnblogs.com/love-w ...

  2. php 邮件类库,【php发送邮件类库】10个php发送邮件类库下载

    在php中,发送邮件有好几种的方式: 可以直接调用系统的mail()函数来完成,但是前提是你在php.ini文件中对mail都已经配置好了. 在PHP脚本中通过SMTP验证连接外部SMTP服务器并且发 ...

  3. python下载文件到本地-Python下载网络文本数据到本地内存的四种实现方法示例

    本文实例讲述了Python下载网络文本数据到本地内存的四种实现方法.分享给大家供大家参考,具体如下: import urllib.request import requests from io imp ...

  4. c#点击按钮调出另一个窗体_在类库或winform项目中打开另一个winform项目窗体的方法...

    本文实例讲述了在类库或winform项目中打开另一个winform项目窗体的方法.分享给大家供大家参考.具体如下: 一.问题: 假设类库或winform项目为A,另一个winform项目为B.那麽在A ...

  5. 安装ubuntu系统操作系统详细流程、ubuntu管理包命令apt和dpkg命令详细说明、一键部署openstack环境、DBeaver下载驱动报错和登录提示RSA public key.. 解决方法

    文章目录 安装ubuntu操作系统 安装vmware,我这的版本是16 . 创建虚拟机 设置网络.[你没有啥特殊需求,忽略该步骤] 开启处理器虚拟化 开始安装ubuntu系统 配置sshd和修改roo ...

  6. 如何将自己设计的图标或通过网上下载的图标上传到阿里图标图库中使用方法教程

    如何将自己设计的图标或通过网上下载的图标上传到阿里图标图库中使用方法教程 作者:张国军_Suger 开发工具与关键技术:Win10.项目.图标 对于编程人员来说,有一个不可获取的图库就是阿里图标库,这 ...

  7. c#工具类库 下载地址

    1.core 工具类下载地址 https://github.com/agoling/UtilsSharp.Standard 注意:该类库是基于core 2.0 封装的 2.core项目工具类库 htt ...

  8. Away3d学习笔记 - away3d类库下载

    Away3d引擎就是一个Actionscript的类库,所以我们要使用它就先要下载.目前最新的版本是Version 2.3.3 / 3.3.3 点此下载 :2.3.3(flash9)         ...

  9. appium java类库下载,appium 简明教程 (4)——appium client 的安装

    appium client 是对 webdriver 原生 api 的一些扩展和封装.它可以帮助我们更容易的写出用例,写出更好懂的用例. appium client 是配合原生的 webdriver ...

最新文章

  1. gitlab部署步骤+汉化
  2. java(13)内部类
  3. eclipse中提交git总是要求输入用户名、密码
  4. 【数学】礼物(jzoj 2129)
  5. python五子棋人机对战_Python:游戏:五子棋之人机对战
  6. 退化射线和净化装置获得法
  7. vsftpd 创建虚拟用户
  8. Microsoft.Web.RedisSessionStateProvider 运行异常问题
  9. vim设置tab宽度为4_vim编辑器VimScript插件开发系列一「定制Vim 3」
  10. 《刀塔传奇》付费设计分析
  11. HDFS体系结构(NameNode、DataNode详解)
  12. 硬软链接的区别 节点 以及重定向和管道
  13. CSS控制显示超出部分,用省略号显示
  14. Java是否存在内存泄露
  15. com.alibaba.android,钉钉(com.alibaba.android.rimet) - 6.0.17 - 应用 - 酷安
  16. 个推华为推送、小米推送、苹果推送及角标
  17. Edge(Linux 版)无法正常同步问题解决
  18. 神秘海域:顶级工作室“顽皮狗”成长史(中)
  19. 电脑重装系统后c盘数据能恢复吗?
  20. Kali渗透-DNS域名劫持

热门文章

  1. linux oracle 01157,Oracle数据库启动时出现ORA-01157和ORA-01110问题
  2. java是解释型编程语言_程序设计语言可以分为两类:编译型语言和解释型语言...
  3. 域用户和计算机上解锁用户的账户,AD域账户锁定时间
  4. 小皮面板phpstudy的MYSQL服务无法启动_ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)
  5. const int *p说明不能修改_C语言关键字const和指针结合的使用
  6. [Leetcode] 第289题 生命游戏
  7. Ajax+Node.js前后端交互最佳入门实践(01)
  8. VS2015中快捷注释代码块
  9. RD自身修养 满招损谦受益
  10. c++设置不适用预编译头