VanStranger / HMLite

国产独立自主研发的可以组件化(微内核)制作网页的php模板框架,使用本模板框架进行模块化编程,速度会比之前快60%。
Apache License 2.0
1 stars 0 forks source link

你这写的个什么?你能不能参考一下laravel admin 或者 dcat admin 的后台,看看人家的 #1

Open woddp opened 3 years ago

woddp commented 3 years ago

你这和传统模板引擎有什么区别?我觉得组件化就要弱化html css 这些,你还在模板的方式取套入php。我也有想做组件化模板想法,就是太忙没时间。你看我这个想法咋样

#php 
echo html()->body()->card(
        ['width'=>200,'height'=>100,'background'=>'#fff'],
        ['class'=>'card','id'=>'test']
        ,new Btn())->script("
        console.log(1);
     document.getElementById('test')"
);
#渲染出来
<!DOCTYPE html>
<html >

<body>
<div class="card" id="test" style="width: 200;height: 100;background: #fff">
    <button></button>
</div>

<script>
    console.log(1);
    document.getElementById("#test")
</script>

</body>
</html>
VanStranger commented 3 years ago

你这和传统模板引擎有什么区别?我觉得组件化就要弱化html css 这些,你还在模板的方式取套入php。我也有想做组件化模板想法,就是太忙没时间。你看我这个想法咋样

#php 
echo html()->body()->card(
        ['width'=>200,'height'=>100,'background'=>'#fff'],
        ['class'=>'card','id'=>'test']
        ,new Btn())->script("
        console.log(1);
     document.getElementById('test')"
);
#渲染出来
<!DOCTYPE html>
<html >

<body>
<div class="card" id="test" style="width: 200;height: 100;background: #fff">
    <button></button>
</div>

<script>
    console.log(1);
    document.getElementById("#test")
</script>

</body>
</html>

其实我这个我觉得叫做模板引擎也并不恰当,他是用php作工具将html分成一个个的组件,复用的时候直接include。就像vue react 那样,每一个组件都由HTML,js,css构成,实现一部分的功能。我这个主要就是实现了引入的组件的script标签可以放置在html中的任何地方(比如末尾),而不一定是生成相应html的地方,因为js一般会有依赖,主要是解决这个问题。 你这个我感觉类似于一个html生成器吧。但是html生成器感觉没什么用,现在写html有emmet插件,写起来方便的很,你这样写反而感觉是难度提升了。

woddp commented 3 years ago

@VanStranger 使用链式调用 去生成html ,比你手写效率绝对要高,你说的什么js依赖这些并不是很复杂的问题,很容易解决。就像vue 的哪些ui 框架 ,Element iview,一样,个人开发者可以自定义组件的包,并发布。使用者直接composer 在链式调用每个组件,可以不用写一行html css 就能呈现好看的样式。这是我的想法。你现在这种适合个人开发,团队协作,或者二次发,并没有优势

VanStranger commented 3 years ago

@woddp 关于怎么写速度快,我不知道你有没有用过emmet,搜了个csdn的文章,Emmet使用详解,你可以去看下。 对我来说,写css,写html,这么写,我是感觉太难受了。而且就算有人喜欢这样写,只能提示插件也不好开发。 至于调用组件,只要封装起来了,用什么方式调用没什么区别吧。