国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

web多應用,這種規(guī)劃目錄結構貌似不行?

1619443919

用的多應用 ,目的是只要少量幾個大點的應用
然后再這幾個大點的應用里,再細分子應用, 我用webman試了貌似是不行

規(guī)劃后臺
app/web/controller/sysmanage/index.php
app/web/controller/financialmanage/index.php
http://xxx/web/sysmanage/
http://xxx/web/financial/

規(guī)劃前臺
app/mobile/controller/wechat/index.php
app/mobile/controller/pcwebsite/index.php

http://xxx/mobile/wechat/
http://xxx/mobile/pcwebsite/

這樣都不行, 直接404
直接搞個sysmanage.php 和 financialmanage.php文件可以
但是這樣感覺是很不方便 ,我想更細化的目錄更能方便后期維護, 直接用類文件,項目大的話,后期web目錄里面直接全部是類文件了 看著腦殼都發(fā)暈

目前是只能用多應用,搞一堆一級子應用來解決。咋能實現(xiàn)我想要的那種嘞?

8135 3 0
3個回答

walkor 打賞

最簡單的方案是給每個url設置路由。
config/route.php 里加類似如下代碼

$app_iterator = new \RecursiveDirectoryIterator(app_path());
$iterator = new \RecursiveIteratorIterator($app_iterator);
foreach ($iterator as $file) {
    if (is_dir($file) || $file->getBasename() != 'index.php' || strpos($file, 'model') || strpos($file, 'view')) {
        continue;
    }
    $path = substr($file, strlen(BASE_PATH), -4);
    $class = str_replace('/', '\\', $path);
    $route_path = str_replace('/controller', '', substr($path, 4, -6));
    $action = 'index';
    echo "$route_path=>$class->$action\n";
    if (class_exists($class)) {
        Route::any($route_path, [$class, $action]);
    }
}

以上代碼的意思是將掃描app下的所有controller,根據(jù)文件路徑計算路由路徑和對應的類,然后通過路由將二者綁定。
你試下,如果代碼哪里不對自己調整下。

  • 暫無評論
1619443919

老大,謝謝你,你的這個方案 我加道route.php 解決了訪問問題了

app/web/controller/sysmanage/index.php
http://xxx/web/sysmanage ok的
但是http://xxx/web/sysmanage/index 還是404
然后在sysmanage路徑下的index.php 加方法 比如:userlist方法
http://xxx/web/sysmanage/userlist 404
試著直接寫個app/web/controller/sysmanage/userlist.php類
http://xxx/web/sysmanage/userlist 404
但是 創(chuàng)建個userlist文件夾 再寫個index.php
http://xxx/web/sysmanage/uselist ok的

研究了您給的代碼 沒搞明白咋改才能符合我的要求

繼續(xù)翻文檔看到有這個
http://127.0.0.1:8787/foo/test 將默認訪問app\controller\Foo類的test方法
http://127.0.0.1:8787/admin/foo/test 將默認訪問app\admin\controller\Foo類的test方法

就想咱們webman內部能不能實現(xiàn)下

http://127.0.0.1:8787/foo/test 將默認訪問app\controller\Foo類的test方法
如果不存在app\admin\controller\Foo類 ,就找foo文件夾的index.php 的 test方法
如果app\admin\controller\Foo文件夾里面index.php不存在,就找foo文件夾下的test類的index方法
還不存在 直接404
再比如
http://127.0.0.1:8787/admin/foo/test 將默認訪問app\admin\controller\Foo類的test方法
如果app\admin\controller\foo類不存在,就找app\admin\controller\Foo文件夾里的index.php的test方法
如果app\admin\controller\foo文件夾不存在index.php,就找app\admin\controller\Foo文件夾里的test類的index方法
還不存在 直接404
搞他個4-5個約定順序輪番找, 找到即可

可以的話,開發(fā)者可以自定義這個查找方式和順序 因為每個人都有一個想法

搞個啥通用的東西 讓我們約定一下 開發(fā),哈哈 老大 很喜歡webman,想用webman開發(fā)了 ,就是開發(fā)老遇到問題

  • 暫無評論
walkor 打賞

你也說了,每個人可能都有自己的規(guī)則。任何項目都沒辦法滿足所有人的路由規(guī)則的。
現(xiàn)在webman默認路由規(guī)則見 http://www.wtbis.cn/doc/webman#/route 。 這個規(guī)則已經是最通用的規(guī)則了。

如果你有自己的路由規(guī)則,參考我上面給的代碼掃描app目錄按照自己的規(guī)則加路由就好了。

  • 1619443919 2021-03-17

    老大,能不能幫我大概實現(xiàn)下 我一直在線問答看 是否有人問類似的問題 一直找不到答案

  • walkor 2021-03-17

    因為沒人像你路由規(guī)則這么復雜,你這么復雜反而更不好維護,找個控制器要找?guī)讉€文件。除了亂,沒看出來有什么優(yōu)勢。

  • 1619443919 2021-03-17

    好吧 老難為你 我也不好意思 我老實用內置的吧 我就是怕類文件太多 我想找個地方改 難找一點 如果用文件夾命名 清晰點

  • walkor 2021-03-17

    按照你這個做法,感覺沒有減少類文件,反而增多了類文件,還有目錄。

  • 1619443919 2021-03-17

    謝謝你的耐心指導 由你們大家的支持 相信webman也會越來越好 現(xiàn)在國內有開源的webman的cms項目么 想看看學習下

  • 1619443919 2021-03-17

    我在gitee和github翻了 大家都是直接搬了原版的webman上去 沒有開發(fā)好的項目 現(xiàn)在我自己做項目起來 感覺好吃力啊 遇到問題 我老問答里來問你 我也怕你煩人

  • walkor 2021-03-17

    webman剛出沒多久,應該還沒人開源出基于webman的cms

  • 你好啊 2021-03-18

    @1619443919:https://gitee.com/zikafei/warehouse 這里有一個差不多的基于webman的項目,你可以參考一下

  • artisan 2022-05-08

    前后臺兩個“大的應用”做成兩個獨立的項目,app內一級目錄形式再各自創(chuàng)建“大的應用”內部的子應用

年代過于久遠,無法發(fā)表回答
??