Table of Contents
Summary study of commonly used classes in joomla2.5, summary of joomla2.5 classes
Home php教程 php手册 Summary research on commonly used classes in joomla2.5, summary of joomla2.5 classes

Summary research on commonly used classes in joomla2.5, summary of joomla2.5 classes

Jul 06, 2016 pm 02:24 PM
superior Commonly used Summarize Research kind

Summary study of commonly used classes in joomla2.5, summary of joomla2.5 classes

The previous article only studied the JImage class. Today we will continue with other commonly used joomla built-in classes. Personally, I started with the commonly used classes. It is written from the perspective of using PHP itself. If PHP’s own functions are more convenient to use than Joomla’s built-in classes, I will not filter it out. If you really want to use it, check it out yourself. Personally, I feel that no matter how excellent the method is, if PHP’s own functions It can also be solved easily with functions, so it is best to use PHP built-in functions. The first thing to learn PHP is to learn the built-in functions well. Okay, let’s explain in detail the commonly used classes and methods.

1. Document class, used as the main operation on the head of the current page element.

<span>$document</span> = JFactory::<span>getDocument();
</span><span>$document</span>->addScript('1.js');<span>//</span><span>添加js文件</span>
<span>$document</span>->addScriptDeclaration('alert(1)');<span>//</span><span>添加js代码</span>
<span>$document</span>->addStyleDeclaration(); <span>//</span><span>css</span>
<span>$document</span>->addStyleSheet('1.css'<span>);
</span><span>$document</span>->setMetaData('description','关键字');<span>//</span><span>设置描述或关键字</span>
<span>$document</span>->setCharset('utf-8'<span>);
</span><span>$document</span>->setTitle('标题');
Copy after login

2. File operation requires importing jimport('joomla.filesystem.file');

<span>$j</span> = <span>new</span><span> JFile();
getExt(</span><span>$file</span>) <span>//</span><span>获取扩展名不含.</span>
getName(<span>$file</span>) <span>//</span><span>获得文件名</span>
exists(<span>$file</span>) <span>//</span><span>文件是否存在</span>
delete(<span>$file</span>) <span>//</span><span>删除文件</span>
<span>copy</span>(<span>$old</span>,<span>$new</span>) <span>//</span><span>复制</span>
upload(<span>$src</span>) <span>//</span><span>上传</span>
write(<span>$file</span>) <span>//</span><span>写文件</span>
read(<span>$file</span>)  <span>//</span><span>读文件</span>
move(<span>$old</span>,<span>$new</span>) <span>//</span><span>移动文件</span>
Copy after login

These methods are useful in file reading and writing, image file uploading, etc.

3. Folder operation, jimport('joomla.filesystem.folder'); Generally when we import, we import all files and folders, and we often use it

JFolder::create(<span>$path</span>,777) <span>//</span><span>创建文件夹,支持多层</span>
JFolder::delete(<span>$path</span>)  <span>//</span><span>删除文件夹,可以包含文件</span>
JFolder::exists(<span>$path</span>)  <span>//</span><span>检测文件夹是否存在</span>
JFolder::<span>copy</span>(<span>$pathold</span>,<span>$pathnew</span>) <span>//</span><span>复制文件夹</span>
JFolder::files(<span>$path</span>) <span>//</span><span>列出文件夹下面文件的数组</span>
JFolder::folders(<span>$path</span>) <span>//</span><span>列出文件夹下面文件夹的数组</span>
Copy after login

Let me talk about it here:: It is a static method, and there are many classes that support static methods;

4. Icon generation class, used to generate small icons in the background. One of the commonly used saves is one.

JToolBarHelper::title(JText::_('添加个人信息'), 'weblinks.png');<span>//</span><span>标题</span>
JToolBarHelper::addNew('info.add');<span>//</span><span>添加</span>
JToolBarHelper::apply('info.apply');<span>//</span><span>保存</span>
JToolBarHelper::save('info.save');<span>//</span><span>保存关闭</span>
JToolBarHelper::editList('info.edit');<span>//</span><span>编辑</span>
JToolBarHelper::cancel('info.cancel');<span>//</span><span>取消</span>
JToolBarHelper::deleteList('info.delete');<span>//</span><span>删除</span>
JToolBarHelper::trash('info.trash');<span>//</span><span>回收站</span>
JToolBarHelper::divider();<span>//</span><span>分割线</span>
JToolBarHelper::publish('weblinks.publish', 'JTOOLBAR_PUBLISH', <span>true</span>);<span>//</span><span>发布</span>
JToolBarHelper::unpublish('weblinks.unpublish', 'JTOOLBAR_UNPUBLISH', <span>true</span>);<span>//</span><span>取消发布</span>
JToolBarHelper::back();<span>//</span><span>返回</span>
JToolBarHelper::help('JHELP_COMPONENTS_WEBLINKS_LINKS');<span>//</span><span>帮助</span>
Copy after login

5. Other commonly used methods

JString::transcode('中国','utf-8','gb2312');<span>//</span><span>转换编码</span>
JUtility::getToken();<span>//</span><span>用户session ID 等价于JHtml::_('form.token');</span>
JUtility::isWinos();<span>//</span><span>是否win系统 是输出1</span>
JUtility::sendmail('logove#qq.com','yoby','logoove#foxmail.com','主题','这是内容');<span>//</span><span>发送邮件要配置的</span>
JUtility::gethash(<span>$var</span>);<span>//</span><span>32位随机字符</span>
JUtility::return_bytes('1k');<span>//</span><span>转换成字节数 支持g m k</span>
JRequest::getURI();<span>//</span><span>获得当前url</span>
    JRequest::getMethod ();<span>//</span><span>提交方式 POST 或GET</span>
    JRequest::getbool('i');<span>//</span><span>转换成布尔型</span>
    JRequest::getint('i');<span>//</span><span>取整</span>
    JRequest::getfloat('i');<span>//</span><span>转换成浮点数</span>
    JRequest::getString('i');<span>//</span><span>转成字符串</span>
    JRequest::getvar('var',<span>null</span>,'default','array');<span>//</span><span>通用,第二个是默认值,第三个是方法,有GET
    //POST FILES COOKIE ENV SERVER  最后一个是数据类型 有array int string float</span>
    JRequest::setVar('var',<span>$arr</span>);<span>//</span><span>设置,可以数组或字符</span>
    JURI::base();<span>//</span><span>包含administrator绝对路径 参数1是相对路径</span>
    JURI::root();<span>//</span><span>根目录,参数1是相对路径</span>
Copy after login

6. Arrays are commonly used, this is the most commonly used

JArrayHelper::arrayUnique(<span>$arr2</span>);<span>//</span><span>去掉重复元素</span>
    <span>$obj</span> = <span>new</span><span> stdClass();
    </span><span>$obj</span>->qq='280594236'<span>;
    JArrayHelper</span>::fromObject(<span>$obj</span>);<span>//</span><span>对象转换数组</span>
    JArrayHelper::getValue(<span>$arr</span>,1);<span>//</span><span>获得数组第二个值,也可以是下标</span>
    JArrayHelper::toObject(<span>$arr</span>);<span>//</span><span>转换对象</span>
    JArrayHelper::toString(<span>$arr</span>,'=',' ');<span>//</span><span>转成字符串,空格隔开,左边key=value</span>
    JArrayHelper :: toInteger(<span>$cid</span>);<span>//</span><span>转换变量为整形</span>
Copy after login

There are many other methods, such as database, xml, form generation, etc. These are all important, but there is too much content. I will talk about it later when I have the opportunity. Basically, these methods today are all commonly used. , if you need to know more, you need to study the API content yourself, or read the core code yourself. I have summarized it here, which can reduce your reading time. The comments at the back are very detailed. If you don’t understand, you can leave a message below. Joomla is A very excellent CMS, but it is not popular in China. Dedecms and discuz have more users. I will study it next time I have time. If you like CMS, don’t miss it.

(yoby original)

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

A deep dive into models, data, and frameworks: an exhaustive 54-page review of efficient large language models A deep dive into models, data, and frameworks: an exhaustive 54-page review of efficient large language models Jan 14, 2024 pm 07:48 PM

Large-scale language models (LLMs) have demonstrated compelling capabilities in many important tasks, including natural language understanding, language generation, and complex reasoning, and have had a profound impact on society. However, these outstanding capabilities require significant training resources (shown in the left image) and long inference times (shown in the right image). Therefore, researchers need to develop effective technical means to solve their efficiency problems. In addition, as can be seen from the right side of the figure, some efficient LLMs (LanguageModels) such as Mistral-7B have been successfully used in the design and deployment of LLMs. These efficient LLMs can significantly reduce inference memory while maintaining similar accuracy to LLaMA1-33B

Crushing H100, Nvidia's next-generation GPU is revealed! The first 3nm multi-chip module design, unveiled in 2024 Crushing H100, Nvidia's next-generation GPU is revealed! The first 3nm multi-chip module design, unveiled in 2024 Sep 30, 2023 pm 12:49 PM

3nm process, performance surpasses H100! Recently, foreign media DigiTimes broke the news that Nvidia is developing the next-generation GPU, the B100, code-named "Blackwell". It is said that as a product for artificial intelligence (AI) and high-performance computing (HPC) applications, the B100 will use TSMC's 3nm process process, as well as more complex multi-chip module (MCM) design, and will appear in the fourth quarter of 2024. For Nvidia, which monopolizes more than 80% of the artificial intelligence GPU market, it can use the B100 to strike while the iron is hot and further attack challengers such as AMD and Intel in this wave of AI deployment. According to NVIDIA estimates, by 2027, the output value of this field is expected to reach approximately

Digital audio output interface on the motherboard-SPDIF OUT Digital audio output interface on the motherboard-SPDIF OUT Jan 14, 2024 pm 04:42 PM

SPDIFOUT connection line sequence on the motherboard. Recently, I encountered a problem regarding the wiring sequence of the wires. I checked online. Some information says that 1, 2, and 4 correspond to out, +5V, and ground; while other information says that 1, 2, and 4 correspond to out, ground, and +5V. The best way is to check your motherboard manual. If you can't find the manual, you can use a multimeter to measure it. Find the ground first, then you can determine the order of the rest of the wiring. How to connect motherboard VDG wiring When connecting the VDG wiring of the motherboard, you need to plug one end of the VGA cable into the VGA interface of the monitor and the other end into the VGA interface of the computer's graphics card. Please be careful not to plug it into the motherboard's VGA port. Once connected, you can

Summarize the usage of system() function in Linux system Summarize the usage of system() function in Linux system Feb 23, 2024 pm 06:45 PM

Summary of the system() function under Linux In the Linux system, the system() function is a very commonly used function, which can be used to execute command line commands. This article will introduce the system() function in detail and provide some specific code examples. 1. Basic usage of the system() function. The declaration of the system() function is as follows: intsystem(constchar*command); where the command parameter is a character.

The most comprehensive review of multimodal large models is here! 7 Microsoft researchers cooperated vigorously, 5 major themes, 119 pages of document The most comprehensive review of multimodal large models is here! 7 Microsoft researchers cooperated vigorously, 5 major themes, 119 pages of document Sep 25, 2023 pm 04:49 PM

The most comprehensive review of multimodal large models is here! Written by 7 Chinese researchers at Microsoft, it has 119 pages. It starts from two types of multi-modal large model research directions that have been completed and are still at the forefront, and comprehensively summarizes five specific research topics: visual understanding and visual generation. The multi-modal large-model multi-modal agent supported by the unified visual model LLM focuses on a phenomenon: the multi-modal basic model has moved from specialized to universal. Ps. This is why the author directly drew an image of Doraemon at the beginning of the paper. Who should read this review (report)? In the original words of Microsoft: As long as you are interested in learning the basic knowledge and latest progress of multi-modal basic models, whether you are a professional researcher or a student, this content is very suitable for you to come together.

Naming conventions in PHP: How to use camel case naming for classes, methods and variables Naming conventions in PHP: How to use camel case naming for classes, methods and variables Jul 30, 2023 pm 02:43 PM

Naming conventions in PHP: How to use camelCase notation to name classes, methods, and variables In PHP programming, good naming conventions are an important coding practice. It improves code readability and maintainability, and makes teamwork smoother. In this article, we will explore a common naming convention: camelCase and provide some examples of how to use it in PHP to name classes, methods, and variables. 1. What is camel case nomenclature? CamelCase is a common naming convention in which the first letter of each word is capitalized,

PHP error: Unable to declare class repeatedly, solution! PHP error: Unable to declare class repeatedly, solution! Aug 25, 2023 pm 04:13 PM

PHP error: Unable to declare class repeatedly, solution! It is common for developers to encounter problems. In PHP development, we often encounter a common error: the class cannot be declared repeatedly. This problem seems simple, but if not solved in time, the code will not execute correctly. This article will introduce the cause of this problem and provide a solution for your reference. When we define a class in PHP code, if the same class is defined multiple times in the same file or multiple files, an error that the class cannot be declared repeatedly will occur. This is

I2V-Adapter from the SD community: no configuration required, plug and play, perfectly compatible with Tusheng video plug-in I2V-Adapter from the SD community: no configuration required, plug and play, perfectly compatible with Tusheng video plug-in Jan 15, 2024 pm 07:48 PM

The image-to-video generation (I2V) task is a challenge in the field of computer vision that aims to convert static images into dynamic videos. The difficulty of this task is to extract and generate dynamic information in the temporal dimension from a single image while maintaining the authenticity and visual coherence of the image content. Existing I2V methods often require complex model architectures and large amounts of training data to achieve this goal. Recently, a new research result "I2V-Adapter: AGeneralImage-to-VideoAdapter for VideoDiffusionModels" led by Kuaishou was released. This research introduces an innovative image-to-video conversion method and proposes a lightweight adapter module, i.e.

See all articles