Inhaltsverzeichnis
joomla2.5中常用类总结研究,joomla2.5类总结
Heim php教程 php手册 joomla2.5中常用类总结研究,joomla2.5类总结

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

Jul 06, 2016 pm 02:24 PM
Vorgesetzter 常用 总结 研究

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('标题');
Nach dem Login kopieren

  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>
Nach dem Login kopieren

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

  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>
Nach dem Login kopieren

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

  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>
Nach dem Login kopieren

  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>
Nach dem Login kopieren

  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>
Nach dem Login kopieren

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

(yoby 原创)

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ein tiefer Einblick in Modelle, Daten und Frameworks: eine ausführliche 54-seitige Übersicht über effiziente große Sprachmodelle Ein tiefer Einblick in Modelle, Daten und Frameworks: eine ausführliche 54-seitige Übersicht über effiziente große Sprachmodelle Jan 14, 2024 pm 07:48 PM

Large-Scale Language Models (LLMs) haben überzeugende Fähigkeiten bei vielen wichtigen Aufgaben bewiesen, darunter das Verständnis natürlicher Sprache, die Sprachgenerierung und das komplexe Denken, und hatten tiefgreifende Auswirkungen auf die Gesellschaft. Diese herausragenden Fähigkeiten erfordern jedoch erhebliche Schulungsressourcen (im linken Bild dargestellt) und lange Inferenzzeiten (im rechten Bild dargestellt). Daher müssen Forscher wirksame technische Mittel entwickeln, um ihre Effizienzprobleme zu lösen. Darüber hinaus wurden, wie auf der rechten Seite der Abbildung zu sehen ist, einige effiziente LLMs (LanguageModels) wie Mistral-7B erfolgreich beim Entwurf und Einsatz von LLMs eingesetzt. Diese effizienten LLMs können den Inferenzspeicher erheblich reduzieren und gleichzeitig eine ähnliche Genauigkeit wie LLaMA1-33B beibehalten

Nvidias GPU der nächsten Generation zerschmettert H100 und wird enthüllt! Das erste 3-nm-Multichip-Moduldesign, vorgestellt im Jahr 2024 Nvidias GPU der nächsten Generation zerschmettert H100 und wird enthüllt! Das erste 3-nm-Multichip-Moduldesign, vorgestellt im Jahr 2024 Sep 30, 2023 pm 12:49 PM

3-nm-Prozess, Leistung übertrifft H100! Kürzlich brachten die ausländischen Medien DigiTimes die Nachricht, dass Nvidia die GPU der nächsten Generation, die B100, mit dem Codenamen „Blackwell“ entwickelt, angeblich als Produkt für Anwendungen im Bereich der künstlichen Intelligenz (KI) und des Hochleistungsrechnens (HPC). Der B100 wird den 3-nm-Prozess von TSMC sowie ein komplexeres Multi-Chip-Modul (MCM)-Design nutzen und im vierten Quartal 2024 erscheinen. Nvidia, das mehr als 80 % des GPU-Marktes für künstliche Intelligenz monopolisiert, kann mit dem B100 zuschlagen, solange das Eisen heiß ist, und in dieser Welle des KI-Einsatzes weitere Herausforderer wie AMD und Intel angreifen. Nach Schätzungen von NVIDIA wird erwartet, dass der Produktionswert dieses Bereichs bis 2027 ungefähr erreicht

Digitale Audio-Ausgangsschnittstelle auf dem Motherboard-SPDIF OUT Digitale Audio-Ausgangsschnittstelle auf dem Motherboard-SPDIF OUT Jan 14, 2024 pm 04:42 PM

Reihenfolge der SPDIFOUT-Verbindungsleitungen auf dem Motherboard. Ich bin kürzlich auf ein Problem bezüglich der Verdrahtungsreihenfolge der Drähte gestoßen. Ich habe online nachgesehen, dass 1, 2 und 4 Ausgang, +5 V und Masse entsprechen, während andere Informationen besagen, dass 1, 2 und 4 Ausgang, Masse und +5 V entsprechen. Am besten schauen Sie im Handbuch Ihres Motherboards nach. Wenn Sie das Handbuch nicht finden, können Sie es mit einem Multimeter messen. Suchen Sie zuerst nach der Erdung, dann können Sie die Reihenfolge der restlichen Verkabelung bestimmen. So schließen Sie die VDG-Verkabelung des Motherboards an. Wenn Sie die VDG-Verkabelung des Motherboards anschließen, müssen Sie ein Ende des VGA-Kabels an die VGA-Schnittstelle des Monitors und das andere Ende an die VGA-Schnittstelle der Grafikkarte des Computers anschließen. Bitte achten Sie darauf, es nicht an den VGA-Anschluss des Motherboards anzuschließen. Sobald die Verbindung hergestellt ist, können Sie es tun

Fassen Sie die Verwendung der Funktion system() im Linux-System zusammen Fassen Sie die Verwendung der Funktion system() im Linux-System zusammen Feb 23, 2024 pm 06:45 PM

Zusammenfassung der Funktion system() unter Linux Im Linux-System ist die Funktion system() eine sehr häufig verwendete Funktion, mit der Befehlszeilenbefehle ausgeführt werden können. In diesem Artikel wird die Funktion system() ausführlich vorgestellt und einige spezifische Codebeispiele bereitgestellt. 1. Grundlegende Verwendung der Funktion system() Die Deklaration der Funktion system() lautet wie folgt: intsystem(constchar*command);

Die umfassendste Übersicht über multimodale Großmodelle finden Sie hier! 7 Microsoft-Forscher arbeiteten intensiv zusammen, 5 Hauptthemen, 119 Seiten Dokument Die umfassendste Übersicht über multimodale Großmodelle finden Sie hier! 7 Microsoft-Forscher arbeiteten intensiv zusammen, 5 Hauptthemen, 119 Seiten Dokument Sep 25, 2023 pm 04:49 PM

Die umfassendste Übersicht über multimodale Großmodelle finden Sie hier! Es wurde von sieben chinesischen Forschern bei Microsoft verfasst und umfasst 119 Seiten. Es geht von zwei Arten multimodaler Forschungsrichtungen für große Modelle aus, die abgeschlossen wurden und immer noch an der Spitze stehen, und fasst fünf spezifische Forschungsthemen umfassend zusammen: visuelles Verständnis und visuelle Generierung Der vom einheitlichen visuellen Modell LLM unterstützte multimodale Großmodell-Multimodalagent konzentriert sich auf ein Phänomen: Das multimodale Grundmodell hat sich von spezialisiert zu universell entwickelt. Ps. Aus diesem Grund hat der Autor am Anfang des Artikels direkt ein Bild von Doraemon gezeichnet. Wer sollte diese Rezension (Bericht) lesen? Mit den ursprünglichen Worten von Microsoft: Solange Sie daran interessiert sind, das Grundwissen und die neuesten Fortschritte multimodaler Grundmodelle zu erlernen, egal ob Sie ein professioneller Forscher oder ein Student sind, ist dieser Inhalt sehr gut für Sie geeignet.

Namenskonventionen in PHP: So verwenden Sie die Kamel-Schreibweise für Klassen, Methoden und Variablen Namenskonventionen in PHP: So verwenden Sie die Kamel-Schreibweise für Klassen, Methoden und Variablen Jul 30, 2023 pm 02:43 PM

Namenskonventionen in PHP: So verwenden Sie die CamelCase-Notation zum Benennen von Klassen, Methoden und Variablen. Bei der PHP-Programmierung sind gute Namenskonventionen eine wichtige Codierungspraxis. Es verbessert die Lesbarkeit und Wartbarkeit des Codes und sorgt für eine reibungslosere Teamarbeit. In diesem Artikel werden wir eine gängige Namenskonvention untersuchen: camelCase, und einige Beispiele dafür liefern, wie man sie in PHP zum Benennen von Klassen, Methoden und Variablen verwendet. 1. Was ist die Camel-Case-Nomenklatur? CamelCase ist eine gängige Namenskonvention, bei der der erste Buchstabe jedes Wortes großgeschrieben wird.

PHP-Fehler: Klasse konnte nicht wiederholt deklariert werden, Lösung! PHP-Fehler: Klasse konnte nicht wiederholt deklariert werden, Lösung! Aug 25, 2023 pm 04:13 PM

PHP-Fehler: Klasse konnte nicht wiederholt deklariert werden, Lösung! Es kommt häufig vor, dass Entwickler auf Probleme stoßen. Bei der PHP-Entwicklung stoßen wir häufig auf einen häufigen Fehler: Die Klasse kann nicht wiederholt deklariert werden. Dieses Problem scheint einfach zu sein, aber wenn es nicht rechtzeitig gelöst wird, wird der Code nicht korrekt ausgeführt. In diesem Artikel wird die Ursache dieses Problems erläutert und eine Lösung als Referenz bereitgestellt. Wenn wir eine Klasse im PHP-Code definieren und dieselbe Klasse mehrmals in derselben Datei oder mehreren Dateien definiert wird, tritt der Fehler auf, dass die Klasse nicht wiederholt deklariert werden kann. Das ist

I2V-Adapter aus der SD-Community: keine Konfiguration erforderlich, Plug-and-Play, perfekt kompatibel mit dem Tusheng-Video-Plug-in I2V-Adapter aus der SD-Community: keine Konfiguration erforderlich, Plug-and-Play, perfekt kompatibel mit dem Tusheng-Video-Plug-in Jan 15, 2024 pm 07:48 PM

Die Aufgabe der Bild-zu-Video-Generierung (I2V) ist eine Herausforderung im Bereich Computer Vision, die darauf abzielt, statische Bilder in dynamische Videos umzuwandeln. Die Schwierigkeit dieser Aufgabe besteht darin, dynamische Informationen in der zeitlichen Dimension aus einem einzelnen Bild zu extrahieren und zu generieren und dabei die Authentizität und visuelle Kohärenz des Bildinhalts zu wahren. Bestehende I2V-Methoden erfordern häufig komplexe Modellarchitekturen und große Mengen an Trainingsdaten, um dieses Ziel zu erreichen. Kürzlich wurde ein neues Forschungsergebnis „I2V-Adapter: AGeneralImage-to-VideoAdapter for VideoDiffusionModels“ unter der Leitung von Kuaishou veröffentlicht. Diese Forschung stellt eine innovative Bild-zu-Video-Konvertierungsmethode vor und schlägt ein leichtes Adaptermodul vor, d. h.

See all articles