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

<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>移動文件</span>

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

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>檢測文件夾是否存在</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>

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

JToolBarHelper::title(JText::_('添加個人信息'), '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('中國','utf-8','gb2312');<span>//</span><span>轉(zhuǎn)換編碼</span> JUtility::getToken();<span>//</span><span>用戶session ID 等價于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)換成浮點數(shù)</span> JRequest::getString('i');<span>//</span><span>轉(zhuǎn)成字符串</span> JRequest::getvar('var',<span>null</span>,'default','array');<span>//</span><span>通用,第二個是默認(rèn)值,第三個是方法,有GET //POST FILES COOKIE ENV SERVER 最后一個是數(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絕對路徑 參數(shù)1是相對路徑</span> JURI::root();<span>//</span><span>根目錄,參數(shù)1是相對路徑</span>

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

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

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

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Model bahasa berskala besar (LLM) telah menunjukkan keupayaan yang menarik dalam banyak tugas penting, termasuk pemahaman bahasa semula jadi, penjanaan bahasa dan penaakulan yang kompleks, dan telah memberi kesan yang mendalam kepada masyarakat. Walau bagaimanapun, keupayaan cemerlang ini memerlukan sumber latihan yang ketara (ditunjukkan di sebelah kiri) dan masa inferens yang panjang (ditunjukkan di sebelah kanan). Oleh itu, penyelidik perlu membangunkan cara teknikal yang berkesan untuk menyelesaikan masalah kecekapan mereka. Di samping itu, seperti yang dapat dilihat dari sebelah kanan rajah, beberapa LLM (Model Bahasa) yang cekap seperti Mistral-7B telah berjaya digunakan dalam reka bentuk dan penggunaan LLM. LLM yang cekap ini boleh mengurangkan memori inferens dengan ketara sambil mengekalkan ketepatan yang serupa dengan LLaMA1-33B

Ringkasan fungsi system() di bawah Linux Dalam sistem Linux, fungsi system() ialah fungsi yang sangat biasa digunakan, yang boleh digunakan untuk melaksanakan arahan baris arahan. Artikel ini akan memperkenalkan fungsi system() secara terperinci dan menyediakan beberapa contoh kod khusus. 1. Penggunaan asas fungsi system() Pengisytiharan fungsi system() adalah seperti berikut: intsystem(constchar*command);

Urutan talian sambungan SPDIFOUT pada papan induk Baru-baru ini, saya menghadapi masalah mengenai urutan pendawaian wayar. Saya menyemak dalam talian Beberapa maklumat mengatakan bahawa 1, 2, dan 4 sepadan dengan keluar, +5V, dan tanah manakala maklumat lain mengatakan bahawa 1, 2, dan 4 sepadan dengan keluar, tanah dan +5V. Cara terbaik ialah menyemak manual papan induk anda Jika anda tidak menemui manual, anda boleh menggunakan multimeter untuk mengukurnya. Cari tanah dahulu, kemudian anda boleh menentukan susunan pendawaian yang lain. Cara menyambung pendawaian VDG papan induk Apabila menyambungkan pendawaian VDG papan induk, anda perlu palamkan satu hujung kabel VGA ke antara muka VGA monitor dan hujung satu lagi ke antara muka VGA kad grafik komputer. Sila berhati-hati untuk tidak memasukkannya ke dalam port VGA motherboard. Setelah disambungkan, anda boleh

Proses 3nm, prestasi melepasi H100! Baru-baru ini, media asing DigiTimes mengumumkan bahawa Nvidia sedang membangunkan GPU generasi akan datang, B100, dengan nama kod "Blackwell" Dikatakan bahawa sebagai produk untuk aplikasi kecerdasan buatan (AI) dan pengkomputeran berprestasi tinggi (HPC). , B100 akan menggunakan proses proses 3nm TSMC, serta reka bentuk modul berbilang cip (MCM) yang lebih kompleks, dan akan muncul pada suku keempat 2024. Bagi Nvidia, yang memonopoli lebih daripada 80% pasaran GPU kecerdasan buatan, ia boleh menggunakan B100 untuk menyerang semasa seterika panas dan seterusnya menyerang pencabar seperti AMD dan Intel dalam gelombang penggunaan AI ini. Menurut anggaran NVIDIA, menjelang 2027, nilai output medan ini dijangka mencapai lebih kurang

Kajian yang paling komprehensif tentang model besar berbilang mod ada di sini! Ditulis oleh 7 penyelidik Cina di Microsoft, ia mempunyai 119 halaman - ia bermula daripada dua jenis arahan penyelidikan model besar berbilang modal yang telah selesai dan masih berada di barisan hadapan, dan meringkaskan secara komprehensif lima topik penyelidikan khusus: pemahaman visual dan penjanaan visual Ejen berbilang modal model besar berbilang modal yang disokong oleh model visual bersatu LLM memfokuskan pada fenomena: model asas berbilang modal telah beralih daripada khusus kepada universal. Ps. Inilah sebabnya penulis melukis secara langsung imej Doraemon pada permulaan kertas. Siapa yang patut membaca ulasan (laporan) ini? Dalam kata-kata asal Microsoft: Selagi anda berminat untuk mempelajari pengetahuan asas dan kemajuan terkini model asas pelbagai mod, sama ada anda seorang penyelidik profesional atau pelajar, kandungan ini sangat sesuai untuk anda berkumpul.

Terokai rangka kerja Kanvas: Untuk memahami apakah rangka kerja Kanvas yang biasa digunakan, contoh kod khusus diperlukan Pengenalan: Kanvas ialah API lukisan yang disediakan dalam HTML5, yang melaluinya kita boleh mencapai kesan grafik dan animasi yang kaya. Untuk meningkatkan kecekapan dan kemudahan melukis, banyak pembangun telah membangunkan rangka kerja Kanvas yang berbeza. Artikel ini akan memperkenalkan beberapa rangka kerja Kanvas yang biasa digunakan dan menyediakan contoh kod khusus untuk membantu pembaca memperoleh pemahaman yang lebih mendalam tentang cara menggunakan rangka kerja ini. 1. Rangka kerja EaselJS Ea

Kerja EfficientSAM ini telah dimasukkan ke dalam CVPR2024 dengan skor sempurna 5/5/5! Penulis berkongsi hasilnya di media sosial, seperti yang ditunjukkan dalam gambar di bawah: Pemenang Anugerah LeCun Turing juga sangat mengesyorkan karya ini! Dalam penyelidikan baru-baru ini, penyelidik Meta telah mencadangkan kaedah baharu yang dipertingkatkan, iaitu pra-latihan imej topeng (SAMI) menggunakan SAM. Kaedah ini menggabungkan teknologi pra-latihan MAE dan model SAM untuk mencapai pengekod ViT pra-latihan berkualiti tinggi. Melalui SAMI, penyelidik cuba meningkatkan prestasi dan kecekapan model dan menyediakan penyelesaian yang lebih baik untuk tugas penglihatan. Cadangan kaedah ini membawa idea dan peluang baharu untuk meneroka dan mengembangkan lagi bidang visi komputer dan pembelajaran mendalam. dengan menggabungkan berbeza

Ralat PHP: Tidak dapat mengisytiharkan kelas berulang kali, penyelesaian! Adalah perkara biasa bagi pembangun menghadapi masalah. Dalam pembangunan PHP, kita sering menghadapi ralat biasa: kelas tidak boleh diisytiharkan berulang kali. Masalah ini kelihatan mudah, tetapi jika tidak diselesaikan dalam masa, kod tidak akan dilaksanakan dengan betul. Artikel ini akan memperkenalkan punca masalah ini dan memberikan penyelesaian untuk rujukan anda. Apabila kami mentakrifkan kelas dalam kod PHP, jika kelas yang sama ditakrifkan beberapa kali dalam fail yang sama atau berbilang fail, ralat yang kelas tidak boleh diisytiharkan berulang kali akan berlaku. ini adalah
