joomla2.5中常用類總結(jié)研究,joomla2.5類總結(jié)_PHP教程
Jul 12, 2016 am 08:49 AMjoomla2.5中常用類總結(jié)研究,joomla2.5類總結(jié)
上一文只研究了JImage類,今天繼續(xù)其他常用的joomla內(nèi)置類,個(gè)人是從常用角度來(lái)寫的,如果PHP本身函數(shù)比起Joomla內(nèi)置類用起來(lái)更方便的,我就濾過(guò)不說(shuō),如果你實(shí)在想用,自己去查吧,個(gè)人覺(jué)得,無(wú)論多優(yōu)秀的方法,如果PHP自帶函數(shù)也能很好解決,那么用PHP內(nèi)置函數(shù)是最好的,學(xué)習(xí)PHP首先就是學(xué)好內(nèi)置函數(shù),好了,接下來(lái)詳細(xì)講解那些常用的類以及方法.
1.文檔類,用來(lái)對(duì)當(dāng)前頁(yè)面元素的頭部作為主要操作.

<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','關(guān)鍵字');<span>//</span><span>設(shè)置描述或關(guān)鍵字</span> <span>$document</span>->setCharset('utf-8'<span>); </span><span>$document</span>->setTitle('標(biāo)題');

2.文件操作,需要導(dǎo)入jimport('joomla.filesystem.file');

<span>$j</span> = <span>new</span><span> JFile(); getExt(</span><span>$file</span>) <span>//</span><span>獲取擴(kuò)展名不含.</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>復(fù)制</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>移動(dòng)文件</span>

這些方法在文件讀寫,圖片文件上傳,等都有用處.
3.文件夾操作,jimport('joomla.filesystem.folder');一般我們導(dǎo)入的時(shí)候把文件文件夾都導(dǎo)入,很多時(shí)候都會(huì)用到

JFolder::create(<span>$path</span>,777) <span>//</span><span>創(chuàng)建文件夾,支持多層</span> JFolder::delete(<span>$path</span>) <span>//</span><span>刪除文件夾,可以包含文件</span> JFolder::exists(<span>$path</span>) <span>//</span><span>檢測(cè)文件夾是否存在</span> JFolder::<span>copy</span>(<span>$pathold</span>,<span>$pathnew</span>) <span>//</span><span>復(fù)制文件夾</span> JFolder::files(<span>$path</span>) <span>//</span><span>列出文件夾下面文件的數(shù)組</span> JFolder::folders(<span>$path</span>) <span>//</span><span>列出文件夾下面文件夾的數(shù)組</span>

這里說(shuō)一下::是靜態(tài)方法,有很多類是支持靜態(tài)方法的;
4.圖標(biāo)生成類,用來(lái)生成后臺(tái)的小圖標(biāo),常用的保存就是之一.

JToolBarHelper::title(JText::_('添加個(gè)人信息'), 'weblinks.png');<span>//</span><span>標(biāo)題</span> JToolBarHelper::addNew('info.add');<span>//</span><span>添加</span> JToolBarHelper::apply('info.apply');<span>//</span><span>保存</span> JToolBarHelper::save('info.save');<span>//</span><span>保存關(guān)閉</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>發(fā)布</span> JToolBarHelper::unpublish('weblinks.unpublish', 'JTOOLBAR_UNPUBLISH', <span>true</span>);<span>//</span><span>取消發(fā)布</span> JToolBarHelper::back();<span>//</span><span>返回</span> JToolBarHelper::help('JHELP_COMPONENTS_WEBLINKS_LINKS');<span>//</span><span>幫助</span>

5.常用其他方法

JString::transcode('中國(guó)','utf-8','gb2312');<span>//</span><span>轉(zhuǎn)換編碼</span> JUtility::getToken();<span>//</span><span>用戶session ID 等價(jià)于JHtml::_('form.token');</span> JUtility::isWinos();<span>//</span><span>是否win系統(tǒng) 是輸出1</span> JUtility::sendmail('logove#qq.com','yoby','logoove#foxmail.com','主題','這是內(nèi)容');<span>//</span><span>發(fā)送郵件要配置的</span> JUtility::gethash(<span>$var</span>);<span>//</span><span>32位隨機(jī)字符</span> JUtility::return_bytes('1k');<span>//</span><span>轉(zhuǎn)換成字節(jié)數(shù) 支持g m k</span> JRequest::getURI();<span>//</span><span>獲得當(dāng)前url</span> JRequest::getMethod ();<span>//</span><span>提交方式 POST 或GET</span> JRequest::getbool('i');<span>//</span><span>轉(zhuǎn)換成布爾型</span> JRequest::getint('i');<span>//</span><span>取整</span> JRequest::getfloat('i');<span>//</span><span>轉(zhuǎn)換成浮點(diǎn)數(shù)</span> JRequest::getString('i');<span>//</span><span>轉(zhuǎn)成字符串</span> JRequest::getvar('var',<span>null</span>,'default','array');<span>//</span><span>通用,第二個(gè)是默認(rèn)值,第三個(gè)是方法,有GET //POST FILES COOKIE ENV SERVER 最后一個(gè)是數(shù)據(jù)類型 有array int string float</span> JRequest::setVar('var',<span>$arr</span>);<span>//</span><span>設(shè)置,可以數(shù)組或字符</span> JURI::base();<span>//</span><span>包含administrator絕對(duì)路徑 參數(shù)1是相對(duì)路徑</span> JURI::root();<span>//</span><span>根目錄,參數(shù)1是相對(duì)路徑</span>

6.數(shù)組常用,這個(gè)是最常用的

JArrayHelper::arrayUnique(<span>$arr2</span>);<span>//</span><span>去掉重復(fù)元素</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>對(duì)象轉(zhuǎn)換數(shù)組</span> JArrayHelper::getValue(<span>$arr</span>,1);<span>//</span><span>獲得數(shù)組第二個(gè)值,也可以是下標(biāo)</span> JArrayHelper::toObject(<span>$arr</span>);<span>//</span><span>轉(zhuǎn)換對(duì)象</span> JArrayHelper::toString(<span>$arr</span>,'=',' ');<span>//</span><span>轉(zhuǎn)成字符串,空格隔開(kāi),左邊key=value</span> JArrayHelper :: toInteger(<span>$cid</span>);<span>//</span><span>轉(zhuǎn)換變量為整形</span>

其他還有很多的方法,比如數(shù)據(jù)庫(kù),xml,表單生成等等,這些說(shuō)起來(lái)都很重要,不過(guò)內(nèi)容過(guò)多,在后邊有機(jī)會(huì)再講,今天的這些方法,基本上來(lái)說(shuō)都很常用,需要了解更多的你需要自己去研究api內(nèi)容,或者自己讀核心代碼,我在這里總結(jié)出來(lái),可以減少你去閱讀時(shí)間,后邊的注釋說(shuō)明很詳細(xì),不懂的可以在下面留言,joomla是一款非常優(yōu)秀的CMS,不過(guò)國(guó)內(nèi)并不流行,dedecms和discuz用戶量更大,下次有時(shí)間我也會(huì)去研究一下的,喜歡cms的不要錯(cuò)過(guò)了.
(yoby 原創(chuàng))

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Les modèles linguistiques à grande échelle (LLM) ont démontré des capacités convaincantes dans de nombreuses taches 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

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 cablage 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 cablage. Comment connecter le cablage VDG de la carte mère Lors de la connexion du cablage VDG de la carte mère, vous devez brancher une extrémité du cable 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

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.

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 ! é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.

Explorez le framework Canvas?: Pour comprendre quels sont les frameworks Canvas couramment utilisés, des exemples de code spécifiques sont nécessaires. Introduction?: Canvas est une API de dessin fournie en HTML5, grace à laquelle nous pouvons obtenir des graphiques et des effets d'animation riches. Afin d'améliorer l'efficacité et la commodité du dessin, de nombreux développeurs ont développé différents frameworks Canvas. Cet article présentera certains frameworks Canvas couramment utilisés et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre comment utiliser ces frameworks. 1.Cadre EaselJSEa

Ce travail d'EfficientSAM a été inclus dans le CVPR2024 avec une note parfaite de 5/5/5 ! L'auteur a partagé le résultat sur les réseaux sociaux, comme le montre l'image ci-dessous : Le lauréat du prix LeCun Turing a également fortement recommandé ce travail ! Dans des recherches récentes, les chercheurs de Meta ont proposé une nouvelle méthode améliorée, à savoir le pré-entra?nement d'image de masque (SAMI) utilisant SAM. Cette méthode combine la technologie de pré-entra?nement MAE et les modèles SAM pour obtenir des encodeurs ViT pré-entra?nés de haute qualité. Grace à SAMI, les chercheurs tentent d'améliorer les performances et l'efficacité du modèle et de proposer de meilleures solutions pour les taches de vision. La proposition de cette méthode apporte de nouvelles idées et opportunités pour explorer et développer davantage les domaines de la vision par ordinateur et de l’apprentissage profond. en combinant différents

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
