.uri jimport joomla.factory jimport joomla.methods jimport joomla.html.html //needs to be loaded laterjimport joomla.utilities.array //needs to be loaded laterjimport joomla.utilities.error jimport joomla.utilities.utility jimport joomla.utilities.string //needs to be loaded laterjimport joomla.filter.output jimport joomla.version //needs to be loaded laterjimport joomla.event.这些引入的类中,比较重要的是 factory,user,menu ,需要仔细研究一下,其他的用的时候,再仔细看文档就行啦当然,methods 也包含了很多基本的函数和类,尤其是需要了解 SEF 的时候。
接下来,我们将仔细看看/index.php 中mainframe amp JFactory::getApplicationsite这句话到底完成了什么工作。
Joomla 源代码解析(六) JDocument 类的几个常用的方法在 google 搜索我的网站就会发现一些,因为没有注意 meta 和 title 所有的开源项目相关的页面 title 和 meta 都一样,对用户很不友好,根本无法分清那个链接是说什么内容的,那么这里就需要 JDocuement 类来解 决问题用法很简单,首先取得 document 对象 document amp JFactory::getDocument然 后 :document-gtsetTitledocument-gtsetDescription //添加 metadocument-gtaddStyleSheet //添加 CSS 文件document-gtaddScript //添加 js 脚本document-gtsetLanguage //设置语言文件其他还有一些 setModifiedDate 等,其他基本就不常用了,记住这些就行啦!Joomla 源代码解析(七) JFactory 类JFactory 类,正如其名,这是一个工厂类,应该是简单工厂模式的标准实现。
这个类几个重要的函数分别返回几个重要的实例。
1.getACL 调用_createACL 返回 joomla.user.authorization 的实例,数据来源2.getApplication 调用 joomla.application.application 的实例获取函JApplication::getInstance,也就是我们在 index.php 中提到的 mainframework3.getConfig 调用 _createConfig 返回 joomla.registry.registry 实例,返回配置参数4.getDBO 调用 _createDBO,返回数据连接 JDatabase 的实例,这个是以后扩展模块要经常用到的5.getDocument 调用 _createDocument 根据请求的格式,返回 JDocumentRaw 或者JDocumentHtml 实例6.getUser 返回 Juser 实例7.getLanguage 调用 _createLanguage 返回 joomla.i18n.language 的实例,以后在多语言环境经常用到。
其他的比如 getMailer,getCache 等就不在写了Joomla 源代码解析(八) JDatabase 类这 是 数 据 库 connector 类 , 封 装 了 与 数 据 库 操 作 的 一 系 列操 作 。
目 前 有两个 子 类 ,JDatabaseMysqlJDatabaseMysqli,这个类为以后扩展到其他数据库留出了接口。
关于一些具体函数没有什么特殊的,基本对应 mysql 的函数的一些特征,对于这个类应用基本都是首先 setquery ,然后 load 或者直接执行 executequery 主要还是不要混淆 load 开头的几个函数的具体功能:1、loadObject 以对象的形式返回结果集的第一行数据2、loadObjectList 对应上一个函数,返回一个对象的集合3、loadResult 返回第一行的第一个字段或者 NULL4、loadResultArray 返回某一字段的数据到一个数组中5、loadRow 返回第一行数据,应该是数组形式6、loadRowList 对应上一个函数,返回行数据的集合还有一个函数很重要就是 setUTF ,这个函数决定了数据库能显示中文。
Joomla 源代码解析(九) JUser 类user 类处理所有程序中与用户交互的相关事情。
这个类的构造函数调用 load 函数,输入的参数是用户 id可以初始化用户的相关信息,这些信息包括 aid gidusertypeusernamenameid 等等,这些信息在扩展中经常用到。
同时,在程序中,用刚刚说过的 getUser,取得当前登录用户实例。
具体用法如下:user amp JFactory::getUseruserId int user-gtgetid根据 gid 可以判断用户的相关的组以及组权限。
了解了 Juser 类,还需要了解一下 JUserHelper 类,这个类包括了与用户活动相关的几个函数,比如获得随机密码以及取得加密密码等。
同样 getUserId 根据用户名取得用户 ID 也是经常用到的。
Joomla 源代码解析(十) JPath JFile JFolder 类这几个类都是 filesystem 包中的重要类,具体的使用看我在模块快速生成器中的代码,函数意义都非常明确:ifJFolder::existstargetpath JFolder::deletetargetpathJFolder::createtargetpathJFolder::createtargetpath.DS.tmpl以上是目录使用的例子sfilesourcepath.DS.index.htmltfiletargetpath.DS.index.htmlJFile::copysfiletfilefilestfile文件拷贝sfilesourcepath.DS.helper.phpdataJFile::readsfiletfile targetpath./helper.phpJFile::writetfiledatafilestfileunsetdata文件读取和写入Joomla 源代码解析(十一) JHtml 类JHtml 没有几个函数,但是在组成页面已经模板书写过程中经常用到,比如:JHTML::_date this-gtitem-gtdate JText::_DATE_FORMAT_LC5以及在后台管理中常用到的来看看这几个函数:calendar 显示一个日历插件date 显示格式化日期iframe 插入一个 iframeimage 插入一个图片link 插入一个超链以上是常用的函数,函数的以用方式就如例子。
Joomla 源代码解析(十二) JToolBarHelper JToolBar 类这个两个类是后台管理过程经常用到的,比如:JToolBarHelper::title JText::_ component Manager generic.png JToolBarHelper::deleteListJToolBarHelper::editListXJToolBarHelper::addNewX这几句就添加了三个按钮,添加,删除,修改其实还有几个常用的preview //预览publish //发布cancel //取消比较常用的就这几个了,主要是在后台管理 toolbar 上的按钮。
相关按钮的动作对应后台管理的 task,相应的,要在 controller 中声明。
Joomla 源代码解析(十三) JText 类 (常用 Joomla 语言文件存储)Joomla 最常用的类之一,使用方式 JTEXT::_JJJJJJJJJJ 对应语言文件中的相应字符串。
为了实现多语言这个是常用的。
当然如果你以 utf-8 字符集存储 php 文件,对于中文就不用考虑那么多了,不过不够规范喓。
要是只是自己用,也无所谓啦,开发要快点。
呵呵!推荐还是用吧!Joomla 源代码解析(十四) JRequest 类 (Joomla 提交信息得到 get)这是另一个 Joomla 扩展中最常用的类,这个类封装了客户端提交的请求相关的信息,通过这个类你可以得到用户提交的相关信息和数据,有几个重要的 函数:首先是 gethash我们看看部分源码就知道,get 得到什么了switch hash case GET : input _GET break case POST : input _POST break case FILES : input _FILES break case COOKIE : input _COOKIE break case ENV : input amp_ENV break case SERVER : input amp_SERVER break default: input _REQUEST break我们通过 getpost 等取得用户提交的数据数组。
还有 getVar ,取得某一 request 变量getURI ,返回请求的 URIsetVar 和 set 则对应着 getVar 和 get在程序中使用的方式是:JRequest::getVarJoomla 源代码解析(十五) 组件是如何被调用并渲染的Joomla 代码中, 组件是如何被调用并渲染的呢?在描述 /index.php 的时候,我们看到根据 option 参数,mainframework-gtdispatch,就进入了组件的调用并渲染的 过程,我们来看看 JSite 的 dispatch 都做了什么工作。
dispatch 最关键的是这几句话:document-gtse
上一篇:
【精品】动手编Basic解释器
下一篇:
工程硕士毕业论文写作内容有什么要求