你可能看到了表的前缀非常奇怪。Joomla将替换这个前缀,用安装时候指定的内容。对于通常的安装,这个表名将是jos_hello,这样可以多个安装使用一个数据库,并且能够避免表名冲突。

表中有两个字段,一是id,是主键,一是greeting.

以上内容保存在 install.utf.sql.

创建卸载sql文件

尽管我们希望永远不必卸载组件,然而卸载也是重要的。Joomla将自动找到需要删除的文件和目录,可是必须要将删除表的sql语句写在安装文件中。语句如下:

DROP TABLE IF EXISTS `#__hello`;

保存在 uninstall.utf.sql中.

新的安装文件如下:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/component-install.dtd">
<install type="component" version="1.5.0">
   <name>Hello</name>
   <!-- The following elements are optional and free of formatting conttraints -->
   <creationDate>2007 02 22</creationDate>
   <author>John Doe</author>
   <authorEmail> john.doe@example.org 为防备电子邮件地址收集器,这个 E-mail 地址被隐藏,你的浏览器必须支持 Javascript 才可看到这个邮件地址 </authorEmail>
   <authorUrl>http://www.example.org</authorUrl>
   <copyright>Copyright Info</copyright>
   <license>License Info</license>
   <!--  The version string is recorded in the components table -->
   <version>Component Version String</version>
   <!-- The description is optional and defaults to the name -->
   <description>Description of the component ...</description>

<!-- Site Main File Copy Section -->
   <files folder="site">
      <filename>index.html</filename>
      <filename>hello.php</filename>
      <filename>controller.php</filename>
      <filename>views/index.html</filename>
      <filename>views/hello/index.html</filename>
      <filename>views/hello/view.html.php</filename>
      <filename>views/hello/tmpl/index.html</filename>
      <filename>views/hello/tmpl/default.php</filename>
      <filename>models/hello.php</filename>
   </files>
   <install>
      <sql>
         <file charset="utf8" driver="mysql">install.sql</file>
      </sql>
   </install>
   <uninstall>
      <sql>
         <file charset="utf8" driver="mysql">uninstall.sql</file>
      </sql>
   </uninstall>  
   <administration>
      <!-- Administration Menu Section -->
      <menu>Hello World!</menu>
     
      <!-- Administration Main File Copy Section -->
      <!-- Note the folder attribute: This attribute describes the folder
         to copy FROM in the package to install therefore files copied
         in this section are copied from /admin/ in the package -->
      <files folder="admin">
   <!-- Site Main File Copy Section -->
         <filename>index.html</filename>
         <filename>admin.hello.php</filename>
         <filename>install.sql</filename>
         <filename>uninstall.sql</filename>
      </files>     
   </administration>
</install>

在install和uninstall部分,file标签中指定了charset和driver,目前唯一合法的charset是utf-8,如果想在非utf8数据库创建表,可以忽略这个属性。driver属性目前只能是mysql,将来Joomla可能支持更多数据库。

转载于:https://www.cnblogs.com/vicenteforever/articles/1633009.html

如何创建一个MVC模式的Joomla组件教程(九) 使用数据库下相关推荐

  1. VS 如何创建一个MVC框架

    VS 如何创建一个MVC框架 开发工具与关键技术:VS 如何创建一个MVC框架 作者:胡宁淇 撰写时间:2019年1月17日 ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务 ...

  2. ue4创建一个游戏模式Game mode

    因为我们是要控制球,所以需要创建一个新的游戏模式,这个游戏模式是和系统自带的游戏模式是有区别的,是我们球的游戏模式. 选择放置的文件夹gamemode,进行命名BallGameMode 在默认Pawn ...

  3. php 对象教程,创建一个简单的PHP对象_PHP教程

    name = "亚古兽"; $agu -> hitPoint = 50; $agu -> attack = "12"; $agu -> def ...

  4. 第5章第18节:创建一个简单的Widget小组件 [SwiftUI快速入门到实战]

    Widget是iOS 14的新特性,要创建小组件,需要使用到SwiftUI和WidgetKit.要在项目中创建Widget,首先点击此处的加号图标,添加一个target. 点击右侧的垂直滚动条,查看W ...

  5. php好的mvc中index方法,创建一个mvc应用目录架构并创建入口文件index.php

    摘要:<?php require 'vendor/autoload.php'; require 'pig/Base.php'; define('ROOT_PATH',__DIR__.'/'); ...

  6. Mvc5 EF6 CodeFirst Mysql (一) 新建一个Mvc项目并使用EF连接到Mysql数据库

    1.新建Mvc5项目,更改身份验证为:不进行身份验证,由于使用到webapi,勾选webapi选项 2.安装Entity Framework 3.安装mysql connector 地址:http:/ ...

  7. linux+创建一个v文件共享,win10与Ubantu双系统:Linux下开启FTP服务器与创建无线热点(实现文件共享)...

    如何在win系统下使用filelizza这个软件搭建FTP服务器,然后建立一个无线局域网,让平板终端连接以后,访问电脑硬盘的文件. 如果是只在win7环境下,一切都很简单,按照上文提供的教程就可以实现 ...

  8. win8创建计算机快捷方式,Win8中创建一个快速关机按钮快捷方式图文教程

    如果你习惯了Winxp.Vista或者Win7,再用起来Win8你一定会觉得这系统太不方便了.开始菜单不见了,关机按钮也不知跑到哪里去了.你的不习惯可能只是因为开始菜单的消失.其实开始菜单只是变了一种 ...

  9. 用Flash创建一个类似Nano War游戏的教程

    Nano War是一个比较不错的RTS/action类游戏.Emanuele Feronato尝试着用Flash实现了类似的功能,并且放出了源代码.值得一提的是他的代码注释非常详细-真是好习惯啊! 截 ...

最新文章

  1. 知否?知否?一文看懂深度文本分类之DPCNN原理与代码
  2. 日期格式转换成时间戳格式php,php日期转时间戳,指定日期转换成时间戳
  3. linux学习查看日志命令
  4. python读txt写入excel_Python读取txt内容写入xls格式excel中的方法
  5. java8 streamlist转化
  6. 总结的AngularJS1版本的一些面试问题
  7. chrome升级后无高级-断续访问
  8. 学Java不得不看的技术书
  9. 欧陆词典导入词典库(自定义英文词典)
  10. 嵌入式软件设计必看书籍
  11. 监听pda扫描_uniapp App监听PDA扫描工具数据
  12. 中国城市电话区号对照表,不包括台湾
  13. 在c/c++中调用Java方法
  14. 第17节 三个败家子(17)——少侠孙坚
  15. Apple M1 Sourcetree 卡 卡顿 卡死
  16. 三维建模教程——概念版摩托车
  17. gaussDB 安装使用
  18. Linux 服务器上部署web程序
  19. 【ffmpeg】音频重采样
  20. 3D ConvNet Demo运行

热门文章

  1. 【AutoML】归一化(Normalization)方法如何进行自动学习和配置
  2. 速卖通代运营收费标准,什么样的商家适合找代运营公司
  3. 全球及中国儿童滑步车市场销量需求调查与竞争格局展望报告2022年
  4. 全球及中国生物质能利用产业现状调研及十四五建设布局规划报告2021-2027年
  5. 关于MetaAPI问题CSDN给的邮件回复
  6. 对话国际农民丰收节贸易会-林育庆:菲律宾谋定中国农业
  7. Go 面向对象编程应用
  8. LeaFlet学习之GridLayer扩展
  9. js解析顺序了解一下??
  10. HDU-1698 JUST A HOOK 线段树