Table des matières
joomla2.5中常用类总结研究,joomla2.5类总结
Maison php教程 php手册 joomla2.5中常用类总结研究,joomla2.5类总结

joomla2.5中常用类总结研究,joomla2.5类总结

Jul 06, 2016 pm 02:24 PM
supérieur 常用 总结 研究

joomla2.5中常用类总结研究,joomla2.5类总结

  上一文只研究了JImage类,今天继续其他常用的joomla内置类,个人是从常用角度来写的,如果PHP本身函数比起Joomla内置类用起来更方便的,我就滤过不说,如果你实在想用,自己去查吧,个人觉得,无论多优秀的方法,如果PHP自带函数也能很好解决,那么用PHP内置函数是最好的,学习PHP首先就是学好内置函数,好了,接下来详细讲解那些常用的类以及方法.

  1.文档类,用来对当前页面元素的头部作为主要操作.

<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('标题');
Copier après la connexion

  2.文件操作,需要导入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>
Copier après la connexion

这些方法在文件读写,图片文件上传,等都有用处.

  3.文件夹操作,jimport('joomla.filesystem.folder');一般我们导入的时候把文件文件夹都导入,很多时候都会用到

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>
Copier après la connexion

这里说一下::是静态方法,有很多类是支持静态方法的;

  4.图标生成类,用来生成后台的小图标,常用的保存就是之一.

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>
Copier après la connexion

  5.常用其他方法

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>
Copier après la connexion

  6.数组常用,这个是最常用的

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>
Copier après la connexion

其他还有很多的方法,比如数据库,xml,表单生成等等,这些说起来都很重要,不过内容过多,在后边有机会再讲,今天的这些方法,基本上来说都很常用,需要了解更多的你需要自己去研究api内容,或者自己读核心代码,我在这里总结出来,可以减少你去阅读时间,后边的注释说明很详细,不懂的可以在下面留言,joomla是一款非常优秀的CMS,不过国内并不流行,dedecms和discuz用户量更大,下次有时间我也会去研究一下的,喜欢cms的不要错过了.

(yoby 原创)

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Une plongée approfondie dans les modèles, les données et les frameworks : une revue exhaustive de 54 pages de grands modèles de langage efficaces Une plongée approfondie dans les modèles, les données et les frameworks : une revue exhaustive de 54 pages de grands modèles de langage efficaces Jan 14, 2024 pm 07:48 PM

Les modèles linguistiques à grande échelle (LLM) ont démontré des capacités convaincantes dans de nombreuses tâches importantes, notamment la compréhension du langage naturel, la génération de langages et le raisonnement complexe, et ont eu un impact profond sur la société. Cependant, ces capacités exceptionnelles nécessitent des ressources de formation importantes (illustrées dans l’image de gauche) et de longs temps d’inférence (illustrés dans l’image de droite). Les chercheurs doivent donc développer des moyens techniques efficaces pour résoudre leurs problèmes d’efficacité. De plus, comme on peut le voir sur le côté droit de la figure, certains LLM (LanguageModels) efficaces tels que Mistral-7B ont été utilisés avec succès dans la conception et le déploiement de LLM. Ces LLM efficaces peuvent réduire considérablement la mémoire d'inférence tout en conservant une précision similaire à celle du LLaMA1-33B

Interface de sortie audio numérique sur la carte mère-SPDIF OUT Interface de sortie audio numérique sur la carte mère-SPDIF OUT Jan 14, 2024 pm 04:42 PM

Séquence des lignes de connexion SPDIFOUT sur la carte mère. Récemment, j'ai rencontré un problème concernant la séquence de câblage des fils. J'ai vérifié en ligne. Certaines informations indiquent que 1, 2 et 4 correspondent à la sortie, au +5 V et à la masse tandis que d'autres informations indiquent que 1, 2 et 4 correspondent à la sortie, à la masse et au +5 V ; La meilleure façon est de consulter le manuel de votre carte mère. Si vous ne trouvez pas le manuel, vous pouvez utiliser un multimètre pour le mesurer. Trouvez d’abord la terre, puis vous pourrez déterminer l’ordre du reste du câblage. Comment connecter le câblage VDG de la carte mère Lors de la connexion du câblage VDG de la carte mère, vous devez brancher une extrémité du câble VGA dans l'interface VGA du moniteur et l'autre extrémité dans l'interface VGA de la carte graphique de l'ordinateur. Attention à ne pas le brancher sur le port VGA de la carte mère. Une fois connecté, vous pouvez

Crushing H100, le GPU nouvelle génération de Nvidia se dévoile ! La première conception de module multipuce 3 nm, dévoilée en 2024 Crushing H100, le GPU nouvelle génération de Nvidia se dévoile ! La première conception de module multipuce 3 nm, dévoilée en 2024 Sep 30, 2023 pm 12:49 PM

Processus 3 nm, les performances dépassent le H100 ! Récemment, le média étranger DigiTimes a annoncé que Nvidia développait le GPU de nouvelle génération, le B100, dont le nom de code est "Blackwell". Il s'agirait d'un produit destiné aux applications d'intelligence artificielle (IA) et de calcul haute performance (HPC). , le B100 utilisera le processus de traitement 3 nm de TSMC, ainsi qu'une conception de module multi-puces (MCM) plus complexe, et apparaîtra au quatrième trimestre 2024. Pour Nvidia, qui monopolise plus de 80 % du marché des GPU d’intelligence artificielle, il peut utiliser le B100 pour frapper pendant que le fer est chaud et attaquer davantage des challengers comme AMD et Intel dans cette vague de déploiement d’IA. Selon les estimations de NVIDIA, d'ici 2027, la valeur de production de ce domaine devrait atteindre environ

La revue la plus complète des grands modèles multimodaux est ici ! 7 chercheurs Microsoft ont coopéré vigoureusement, 5 thèmes majeurs, 119 pages de document La revue la plus complète des grands modèles multimodaux est ici ! 7 chercheurs Microsoft ont coopéré vigoureusement, 5 thèmes majeurs, 119 pages de document Sep 25, 2023 pm 04:49 PM

La revue la plus complète des grands modèles multimodaux est ici ! Écrit par 7 chercheurs chinois de Microsoft, il compte 119 pages - il part de deux types d'orientations de recherche multimodales sur grands modèles qui ont été complétées et sont toujours à l'avant-garde, et résume de manière exhaustive cinq sujets de recherche spécifiques : la compréhension visuelle et la génération visuelle. L'agent multimodal grand modèle multimodal supporté par le modèle visuel unifié LLM se concentre sur un phénomène : le modèle de base multimodal est passé de spécialisé à universel. Ps. C'est pourquoi l'auteur a directement dessiné une image de Doraemon au début de l'article. Qui devrait lire cette critique (rapport) ? Dans les mots originaux de Microsoft : tant que vous souhaitez apprendre les connaissances de base et les derniers progrès des modèles de base multimodaux, que vous soyez un chercheur professionnel ou un étudiant, ce contenu est très approprié pour vous réunir.

Résumer l'utilisation de la fonction system() dans le système Linux Résumer l'utilisation de la fonction system() dans le système Linux Feb 23, 2024 pm 06:45 PM

Résumé de la fonction system() sous Linux Dans le système Linux, la fonction system() est une fonction très couramment utilisée, qui permet d'exécuter des commandes en ligne de commande. Cet article présentera la fonction system() en détail et fournira quelques exemples de code spécifiques. 1. Utilisation de base de la fonction system(). La déclaration de la fonction system() est la suivante : intsystem(constchar*command) où le paramètre de commande est un caractère.

Conventions de dénomination en PHP : Comment utiliser la dénomination en casse chameau pour les classes, les méthodes et les variables Conventions de dénomination en PHP : Comment utiliser la dénomination en casse chameau pour les classes, les méthodes et les variables Jul 30, 2023 pm 02:43 PM

Conventions de dénomination en PHP : Comment utiliser la notation camelCase pour nommer des classes, des méthodes et des variables En programmation PHP, de bonnes conventions de dénomination sont une pratique de codage importante. Il améliore la lisibilité et la maintenabilité du code et rend le travail d'équipe plus fluide. Dans cet article, nous explorerons une convention de dénomination courante : camelCase et fournirons quelques exemples de la façon de l'utiliser en PHP pour nommer des classes, des méthodes et des variables. 1. Qu'est-ce que la nomenclature des cas de chameaux ? CamelCase est une convention de dénomination courante dans laquelle la première lettre de chaque mot est en majuscule,

Adaptateur I2V de la communauté SD : aucune configuration requise, plug and play, parfaitement compatible avec le plug-in vidéo Tusheng Adaptateur I2V de la communauté SD : aucune configuration requise, plug and play, parfaitement compatible avec le plug-in vidéo Tusheng Jan 15, 2024 pm 07:48 PM

La tâche de génération d'image en vidéo (I2V) est un défi dans le domaine de la vision par ordinateur qui vise à convertir des images statiques en vidéos dynamiques. La difficulté de cette tâche est d'extraire et de générer des informations dynamiques dans la dimension temporelle à partir d'une seule image tout en conservant l'authenticité et la cohérence visuelle du contenu de l'image. Les méthodes I2V existantes nécessitent souvent des architectures de modèles complexes et de grandes quantités de données de formation pour atteindre cet objectif. Récemment, un nouveau résultat de recherche « I2V-Adapter : AGeneralImage-to-VideoAdapter for VideoDiffusionModels » dirigé par Kuaishou a été publié. Cette recherche introduit une méthode innovante de conversion image-vidéo et propose un module adaptateur léger, c'est-à-dire

Erreur PHP : Impossible de déclarer la classe à plusieurs reprises, solution ! Erreur PHP : Impossible de déclarer la classe à plusieurs reprises, solution ! Aug 25, 2023 pm 04:13 PM

Erreur PHP : Impossible de déclarer la classe à plusieurs reprises, solution ! Il est courant que les développeurs rencontrent des problèmes. Dans le développement PHP, nous rencontrons souvent une erreur courante : la classe ne peut pas être déclarée à plusieurs reprises. Ce problème semble simple, mais s’il n’est pas résolu à temps, le code ne s’exécutera pas correctement. Cet article présentera la cause de ce problème et fournira une solution pour votre référence. Lorsque nous définissons une classe dans du code PHP, si la même classe est définie plusieurs fois dans le même fichier ou dans plusieurs fichiers, une erreur indiquant que la classe ne peut pas être déclarée à plusieurs reprises se produira. C'est

See all articles