[xiunobbs维护]挖个坑
nenge 27天前

为了适用更高级的PHP8+版本,挖个坑,尽可能兼容并修改一些,能够开发模式无错运行!

基于群主的修改版基础上改.

 

如有任何报错,反馈到这里.本次以修复,完善为主.逻辑流程保留原来的

 

计划如下

1 .将会逐步删除global 滥用.采取类对象获取.

2.升级/修复 一些老旧插件

转换进度

- huux_notice插件 后台部分转换完成 2025/04/07

 

#首次克隆下载
git clone https://github.com/nenge123/xiunobbs.git

#更新
git pull

#下载
git fetch https://github.com/nenge123/xiunobbs.git

 

 

最后于 10天前 被nenge编辑 ,原因:
最新回复 (17)
全部楼主
  • nenge 楼主
    27天前 2
    0

    04/04

    后台基础已经修改完毕

    插件原有方式调整

    plugin/xxx/插件名=>plugin/插件名/其他操作

    操作保留  array('install', 'unstall', 'setting', 'disable', 'enable','read')

    当插件根目录存在 route.inc.php 插件信息由 route.inc.php 接管,否则默认进行'read'查看插件信息

    原则上插件不应干涉 admin里的route行为,而是采用自身route.inc.php进行独立控制管理

            // hook admin_index_route_case_start.php
            // hook admin_index_route_case_end.php
    // hook admin_index_menu_after.php

    route.inc.php 可通过 MyApp::value(0~9) 等数据获取 插件名,其他操作后续字符

    即 MyApp::value(0) == 插件名

    插件模板中表单推荐使用 `{{ url }}`表示当前地址就地进行进行POST/GET

     

    在后台中 MyApp::url('plugin') 等价于 /admin/index.php/plugin.html

    在后台中在插件操作时(/admin/index.php/plugin/.*)
    MyApp::purl('插件名') 等价于 /admin/index.php/plugin/插件名.html

    若要返回网站前台则使用 MyApp::topurl('index') 等价于 /index.html  (伪静态) 

     

     

     

    最后于 16天前 被nenge编辑 ,原因:
  • Tillreetree 版主
    27天前 3
    0
    要不我们再看看flatboard的做法? https://www.flatboard.org/ 有一些可能值得借鉴的点,例如Assets,可以将CSS和JS组合成一整个文件加速页面加载
  • nenge 楼主
    27天前 4
    0

    编辑器通过点击附件进行增删, 避免有时候删掉附件,文件还存在. 独立保存内容,不参与提交按钮更新

    最后于 25天前 被nenge编辑 ,原因:
  • daxiaowang
    26天前 5
    0
    顶顶顶顶顶顶顶!!!
  • 流口水的鱼
    26天前 6
    0
    楼主,你写得实在是太好了。我惟一能做的,就只有把这个帖子顶上去这件事了。 
  • Tillreetree 版主
    26天前 7
    0

    不建议过度依赖数字,可以用常量,这样所有人都清晰知道含义

    const RETURN_ALL_WITH_KEYS = 1; // 带字段索引的所有数据
    const RETURN_ALL_NUMERIC = 2; // 数字索引返回所有数据(数字是表的顺序,非常不靠谱)
    const RETURN_ALL_MIXED = 3; // 是1&2混合
    const RETURN_SINGLE_WITH_KEY = 4; // 单条字段索引
    const RETURN_SINGLE_NUMERIC = 5; // 单条数字索引
    const RETURN_SINGLE_MIXED = 6; // 4&5混合
    const RETURN_FIRST_COLUMN_VALUE = 7; // 单条首列字段值 常用于获取行数,maxi等
    const RETURN_ITERATOR = 10; // 返回数据结果的迭代器,迭代器可以foreach不可当成变量读取值,迭代器好处是当查询结果内容超过PHP内存上限的时候,迭代结果是依次读取

    这样就可以 MyDB::t('user')->select(MyDB::RETURN_ALL_WITH_KEYS);

    以及你还需要定义SORT_ASC和SORT_DESC

  • nenge 楼主
    26天前 8
    0
    Tillreetree 不建议过度依赖数字,可以用常量,这样所有人都清晰知道含义 const RETURN_ALL_WITH_KEYS = 1; // 带字段索引的所有数据const RETURN_ALL_NUMERIC ...
    不错,可以语义化
  • nenge 楼主
    26天前 9
    0

    占楼

    最后于 25天前 被nenge编辑 ,原因:
  • juse
    26天前 10
    0
    神仙贴,插眼儿
  • Tillreetree 版主
    26天前 11
    0
    nenge /** * 返回最后插入的主键值 * 即 insert_id */ const MODE_INSERT_ID = -1; /** * 返回数据更新的影响行数 ...

    修正模糊的命名

    原名称 问题 改进后名称 说明
    MODE_ROWS_VALUE 容易误解为“返回行数据” MODE_AFFECTED_ROWS 明确表示影响行数
    MODE_ASSOC 未体现“单行” MODE_SINGLE_ASSOC 明确是单行关联数组
    MODE_NUM 同上 MODE_SINGLE_NUM 明确是单行数字索引
    MODE_BOTH 同上 MODE_SINGLE_BOTH 明确是单行混合索引
  • nenge 楼主
    25天前 12
    1
    Tillreetree 修正模糊的命名 原名称 问题 改进后名称 说明 MODE_ROWS_VALUE 容易误解为“返回行数据” MODE_A ...
    这种命名和 fetch_assoc fetch_all fetch_object类似,尽可能简明扼要即可,主要是方便代码提示
    或者往后增加一个枚举,更加友好的显示类型?
     
  • didiaog
    23天前 13
    0
    必须支持
  • dmon
    21天前 14
    0
    不错的帖子!
  • nwzhi
    14天前 15
    0
    祝xiunobbs论坛越办越好!!!
  • juse
    4天前 16
    1
    在github已经star你了
  • nenge 楼主
    3天前 17
    1
    juse 在github已经star你了
    目前避免两头修改,先弄原版的前台部分,即另一个帖子
  • wenwen
    2天前 18
    0
    楼主,你写得实在是太好了。我惟一能做的,就只有把这个帖子顶上去这件事了。 
返回
nenge
一级用户组
9
主题数
24
帖子数
扫码访问