Jadual Kandungan
phalcon框架使用指南,phalcon使用指南
Rumah php教程 php手册 phalcon框架使用指南,phalcon使用指南

phalcon框架使用指南,phalcon使用指南

Jun 13, 2016 am 08:45 AM
cookie phalcon Tutorial

phalcon框架使用指南,phalcon使用指南

初次认识phalcon是在刚学php的时候,最近终于有机会用上了.故此说说使用上的一些感受

个人是很喜欢phalcon这套框架的方式,使用依赖注入,让代码组织很灵活,耦合也很低.但是,也许是框架东西太多了,遇到几个坑. github上一年以上的issue也还没解决.不过有一定开发经验的话,还是可以自己修复的.被这几个坑浪费了不少时间....

第一个是view.

  phalcon的view,可以分成两大部分,一是全局的layout,二是controller/action的部分,
  让使用时更加方便,设置好layout后,只关注controller部分的view即可.
  但是关于view的路径设置问题,要关注这几个参数
Salin selepas log masuk

MainView(主layout文件路径+文件名,但不包括扩展名,扩展名是在注入视图引擎时的key键值),

LayoutsDir(layouts的目录路径),

Layout(主layout文件名,可根据需求,动态使用layouts目录下的某个文件充当mainView),

PartialsDir(使用partial函数时,查找模板文件,如partial('main/header') 则查找路径是"/你的partialsDir/main/header.volt" . ),

ViewsDir(设置controller/action对应的模板文件所在的目录.和partialDir类似,自动查找目录下的模板文件)

BasePath(视图的目录的基础目录,phalcon和根据所有设置的dir来组合路径,查找模板文件,坑就是这了)

我刚开始用这个view的时候,使用的是绝对路径,因为绝对路径配置和管理比较方便.
然后我就被坑了.浪费了一个下午的时间调试.
根据官方文档给出的例子反复测试,发现这个view组件只能使用相对路径设置路径,BasePath不用设置.

一气之下就去翻phalcon的源码了.开发语言是Zephir,phalcon团队自己开发的语言.

语言语法比较简单,容易懂.然后看到了这句.

..]

看起来像是没有判断是相对路径还是绝对路径,直接组合起来了而已的,猜测是这里引发了问题.

并且是直接按顺序解析action , layout , main layout这些模板文件.

于是想验证一下.所以我写了几个调试文件,打算调试一下.

翻查phalcon源码过程省略1000字...找到必然会调用,并有路径处理的几个主要方法,继承View相关的几个class

这里也强调下,很多人喜欢用echo,一般情况是没问题,
但最好还是用文件记录吧,因为echo局限性其实挺大的,
你不知道echo buff什么时候打开,什么时候关闭..使用文件来记录log最保险了.
Salin selepas log masuk

我测试的代码,使用多模块的方式.

BaseView文件,继承phalcon的view,并且打开这个方法的报错信息

BaseVolt文件,继承模板引擎volt

view注入代码,和目录结构如图

log记录如下

页面输出如下:

跟想像的一样,使用绝对路径时,无论如何,phalcon都是直接拼接以上设置的路径,

当开发者想动态使用controller/action的view,但layouts主目录又在上层目录时,就会出问题.

phalcon找的main layout路径是Phalcon\Mvc\View\Exception: View '/Users/Hin/work/phalcon_mode/app/modules/admin/views/layouts/main' was not found in the views directory

而我要的是/Users/Hin/work/phalcon_mode/app/views/layouts/main

然后找不到路径,main layout模板文件就不起作用了..........

<code>所以,真的就只是直接组合三个路径而已..所以,在设置路径的时候,就看自己的取舍了.</code>
Salin selepas log masuk

phalcon view源码里三个变量中,basePath,viewDir(关键就是作者对viewDir这个变量理解有误,导致的bug) 看成是基础的路径. viewPath是依次执行_enginrender时的action view,layout view ,main view的路径.
理解了这个就可以自己慢慢设置好了路径了.....

解决办法有三个.

一 是自己写个View继承phalcon的View,处理路径. 思路是除了action的定位外,其他定位将viewDir变为空.
二 是修改phalcon源码,再自己编译一遍(在_enginRender外部处理好路径定位,去除_enginRender和路径定位的耦合)
三 是,不管了,直接使用相对路径(不设置basepath,viewsDir因为要动态定位action view,使用绝对路径, layoutsDir partialsDir使用相对路径)

github上是有人发过这个bug的issue,可是作者没理会......
Salin selepas log masuk

------------------------------华丽分割线------------------------------------

第二是model

还有个坑,是关于phalcon的model.一样是发了issue,作者没管.
根据文档model是提供了setter 链接描述 方法的,可实际上,setter却不起作用...

<code>然后像view一样,自己修复好...</code>
Salin selepas log masuk

个人认为setter getter是非常好用的功能,但有些人却觉得没用,见仁见智啦.
我们的开发模式是model和controller 由不同的人开发,有了setter getter,数据调用者只管拿数据就可以了,
model数据出问题,在model中修改即可,controller不需要改动.工作模式上耦合可以降低很多.
Salin selepas log masuk

不过用这个框架的开发的项目夭折了,再深入点的坑也遇不到了.没有意外的话,短期内也不会用了.
最近心情比较糟糕.写得比较随便.当个记录好了.......

最后直接附上 github 源码,多模块模式开发用这样的目录结构也是不错的,希望能帮到别人

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan tutorial penggunaan Aisi Assistant-Aisi Assistant Cara menggunakan tutorial penggunaan Aisi Assistant-Aisi Assistant Mar 06, 2024 pm 12:10 PM

Ramai rakan baru masih tidak tahu cara menggunakan Aisi Assistant, jadi editor akan membawakan anda tutorial tentang cara menggunakan Aisi Assistant yang memerlukannya boleh melihat dengan cepat. 1. Antara muka operasi, semak sama ada komponen yang diperlukan telah dipasang (seperti yang ditunjukkan dalam rajah di bawah); kepada Arahan untuk operasi yang berkaitan (seperti yang ditunjukkan dalam rajah di bawah); (seperti yang ditunjukkan dalam rajah di bawah) yang ditunjukkan); atas

Bagaimana untuk menggunakan exescope? Tutorial penggunaan terperinci Bagaimana untuk menggunakan exescope? Tutorial penggunaan terperinci Mar 13, 2024 pm 10:40 PM

exescope ialah alat penyuntingan sumber program yang berkuasa yang boleh menukar versi bahasa Inggeris perisian kepada versi Cina Jadi bagaimana untuk menggunakan exescope yang baru dimuat turun? Jika anda juga pengguna baru, datang dan lihat tutorial terperinci di bawah. Tutorial penggunaan Exescope 1. Buka eXeScope, klik pada fail di sudut kiri atas, klik [Buka] dalam pilihan pop timbul, dan pilih fail yang anda ingin buka. 2. Selepas membuka perisian, anda boleh melihat banyak kawalan. 3. Anda boleh mengubah suai secara langsung saiz, kedudukan dan kandungan setiap kawalan dengan memasukkan data, atau anda boleh terus klik pada editor kotak dialog di atas dan seret kawalan pada antara muka program secara terus. Selepas melaraskan kawalan, klik [Simpan].

Tutorial penggunaan kotak hitam kecil Tutorial penggunaan kotak hitam kecil Feb 23, 2024 pm 05:10 PM

Little Black Box ialah platform permainan yang sangat mudah digunakan, jadi bagaimana anda menggunakan perisian ini? Pengguna akan menghadapi banyak masalah apabila menggunakan perisian ini dan mempunyai penyelesaian yang berbeza. Ringkasan tutorial tentang penggunaan pelbagai fungsi kotak hitam kecil ini akan memberitahu anda cara menggunakannya. Berikut adalah pengenalan terperinci, jadi lihat! Tutorial menggunakan Little Black Box [2024-01-31] ​​​​Cara menebus cdkey yang dibeli dari Little Black Box [2024-01-31] ​​​​Cara menyimpan permainan yang dibeli dari Little Black Box ke dalam Steam [2024-01- 31] ​​CDkey yang dibeli dari Little Black Box boleh dipulangkan.

Cara menggunakan Enterprise WeChat - Tutorial menggunakan Enterprise WeChat Cara menggunakan Enterprise WeChat - Tutorial menggunakan Enterprise WeChat Mar 04, 2024 pm 02:28 PM

Ramai rakan tidak tahu cara menggunakan WeChat Enterprise, jadi editor di bawah akan berkongsi tutorial untuk menggunakan WeChat Enterprise. Saya percaya ia akan membantu semua orang. Langkah 1: Klik ikon "Enterprise WeChat" untuk memasuki Enterprise WeChat Dalam bahagian mesej, kita boleh menyertai sembang kumpulan untuk berbual dengan rakan sekerja (seperti yang ditunjukkan dalam gambar). Langkah 2: Pada antara muka utama Enterprise WeChat, klik "Buku Kenalan" (seperti yang ditunjukkan dalam gambar). Langkah 3: Masukkan bahagian buku alamat, di mana kita boleh melihat kenalan kita (seperti yang ditunjukkan dalam gambar). Langkah 4: Pada antara muka utama Enterprise WeChat, klik "Meja Kerja" (seperti yang ditunjukkan dalam gambar). Langkah 5: Masukkan bahagian meja kerja, di mana kita boleh menjalankan kerja kecil harian syarikat (seperti yang ditunjukkan dalam gambar). Langkah 6: Pada antara muka utama Enterprise WeChat, klik "Saya" (seperti yang ditunjukkan dalam gambar

Cara menggunakan pautan magnet Thunder - Tutorial menggunakan pautan magnet Thunder Cara menggunakan pautan magnet Thunder - Tutorial menggunakan pautan magnet Thunder Mar 05, 2024 pm 05:22 PM

Baru-baru ini, ramai rakan telah bertanya kepada editor cara menggunakan pautan magnet Thunder Seterusnya, mari kita pelajari tutorial menggunakan pautan magnet Thunder. Saya harap ia dapat membantu semua orang. Langkah 1: Pertama, kami membuka Thunder yang dipasang dan klik butang Baharu, seperti yang ditunjukkan dalam gambar. Langkah 2: Kemudian cari pautan magnet di Internet, salin dan tampalkannya ke lokasi yang ditunjukkan dalam gambar di bawah, dan klik OK, seperti yang ditunjukkan dalam gambar. Langkah 3: Direktori muat turun terperinci sumber muncul Kami menyemak sumber yang hendak dimuat turun, pilih direktori storan dan klik Muat Turun Sekarang, seperti yang ditunjukkan dalam rajah. Langkah 4: Akhir sekali, kami menunggu sumber untuk dimuat turun, seperti yang ditunjukkan dalam gambar. Di atas ialah keseluruhan kandungan cara menggunakan pautan magnet Thunder yang dibawa oleh editor kepada anda. Saya harap ia dapat membantu semua orang.

Cara menggunakan simulator ons - tutorial penggunaan simulator ons Cara menggunakan simulator ons - tutorial penggunaan simulator ons Mar 04, 2024 pm 01:10 PM

Baru-baru ini, ramai rakan bertanya kepada saya cara menggunakan simulator ons Seterusnya, mari kita pelajari tutorial tentang cara menggunakan simulator ons saya harap ia dapat membantu semua orang. Langkah 1: Mula-mula muat turun alat onskrip seperti yang ditunjukkan di bawah. Langkah 2: Kemudian muat turun permainan emulator ons. Langkah 3: Kemudian seret fail simulator onscripter.exe yang baru anda muat turun terus ke dalam direktori permainan dan klik dua kali onscripter.exe untuk membukanya. Langkah 4: Jalankan permainan secara langsung. Di atas adalah semua kandungan tentang cara menggunakan simulator ons yang dibawa oleh editor saya harap ia dapat membantu semua orang.

Cara menggunakan perisian kawalan jauh Sunflower-Tutorial penggunaan perisian kawalan jauh Sunflower Cara menggunakan perisian kawalan jauh Sunflower-Tutorial penggunaan perisian kawalan jauh Sunflower Mar 04, 2024 pm 10:20 PM

Pada masa kini, ramai rakan akan menggunakan perisian kawalan jauh Sunflower, tetapi masih ramai rakan yang tidak tahu cara menggunakan perisian kawalan jauh Sunflower Hari ini, saya akan memperkenalkan secara terperinci semua tutorial tentang cara menggunakan perisian kawalan jauh Sunflower harap dapat membantu semua. Langkah 1: Mula-mula buka perisian kawalan jauh Sunflower dan pastikan perisian itu berjaya disambungkan ke pelayan (seperti yang ditunjukkan dalam gambar). Langkah 2: Kemudian masukkan kod pengenalan Bunga Matahari jauh (seperti yang ditunjukkan dalam gambar). Langkah 3: Anda boleh terus memasukkan kod pengesahan jauh untuk sambungan jauh tanpa pengawasan, atau klik untuk mengesahkan sambungan melalui terminal jauh tanpa kod pengesahan (seperti yang ditunjukkan dalam rajah). Langkah 4: Kemudian klik "Sambungan Jauh", dan kawalan desktop akan mula bersambung ke desktop jauh (seperti yang ditunjukkan dalam gambar). Langkah 5: Selepas sambungan selesai, sistem secara automatik memasuki persekitaran desktop komputer jauh.

Tutorial menggunakan Novel Shuqi Tutorial menggunakan Novel Shuqi Mar 14, 2024 am 08:28 AM

Shuqi Novel ialah alat dengan sumber buku yang kaya yang boleh dibaca secara percuma Kebanyakan pengguna tidak tahu cara menggunakan fungsi dan alatan dalam Shuqi Novel Tutorial yang paling terperinci tentang cara menggunakan perisian akan disusun di bawah editor akan membawa pengguna Ringkasan tutorial pelbagai fungsi untuk Shuqi Novel Pengguna yang berminat boleh datang dan lihat! Tutorial penggunaan Novel Shuqi [2024-03-13] Di manakah penanda halaman Novel Shuqi [2024-03-13] Bagaimana untuk mematikan pembaharuan automatik keahlian Shuqi Novel [2024-03-13] Di mana saya boleh mendapatkan VIP Shuqi Novel [2024 -03-13] Di mana untuk membaca id novel Shuqi [2024-03-13] Di mana untuk memasukkan kod jemputan novel Shuqi [2024-03-13] Cara mendengar novel Shuqi

See all articles