WudimeiPHP框架2016.5版

wudimei_com 2016-06-28 05:00:32
WudimeiPHP框架是一个php7框架。主要目的是模仿laravel,使之轻量级,但又不想照抄,要有自己的风格。
网址:
https://github.com/wudimeicom/WudimeiPHP/tree/master/test
如果想了解更多请查看test里面的示例。

分页:
<?php
require_once __DIR__ .'/../autoload.php';
use Wudimei\DB;
$config = include __DIR__ . "/db_config.php";
DB::addConnection($config);
$select = DB::connection( );
$pg = $select->table("blog")->where('id','>',1)->where('id','<',10)->paginate(2);
echo "<pre>";
print_r( $pg->data );
echo "</pre>";
echo $pg->render("db_paginate.php?page={page}");


更新:

<?php

require_once __DIR__ .'/../autoload.php';
use Wudimei\DB;
$config = include __DIR__ . "/db_config.php";
DB::addConnection($config);
$select = DB::connection( );
$data = array(
'title' => 'ha ha 2',
'content' => 'abc2',
'created_at' => date("Y-m-d H:i:s")
);
$intAffectedRows = $select->table("blog")->where('id',1 )->update( $data );
echo $intAffectedRows;


插入:

<?php

require_once __DIR__ .'/../autoload.php';
use Wudimei\DB;
$config = include __DIR__ . "/db_config.php";
DB::addConnection($config);
$select = DB::connection( );
$data = array(
'title' => 'ha ha ',
'content' => 'abc',
'created_at' => date("Y-m-d H:i:s")
);
$lastInsertId = $select->table("blog")->insert( $data );
echo $lastInsertId;

删除

<?php

require_once __DIR__ .'/../autoload.php';
use Wudimei\DB;
$config = include __DIR__ . "/db_config.php";
DB::addConnection($config);
$select = DB::connection( );

$intAffectedRows = $select->table("blog")->where('id',12)->orWhere('id',11)->orWhere('id',10)->delete( );
echo $intAffectedRows;


视图:

<?php
require_once __DIR__ .'/../autoload.php';
use Wudimei\View;
View::loadConfig( __DIR__ . '/view_config.php' );
$vars = [
'students' => [
['name' => 'jim','age'=>14 ],
['name' => 'lily','age'=>15 ],
['name' => 'lucy','age'=>13 ]
]
];
echo View::make("default.index.foreach",$vars );

模版
<table border="1">
<tr>
<td>name</td>
<td>age</td>
</tr>

@foreach( $students as $stu)
<tr>
<td>{{$stu['name']}}</td>
<td>{{$stu['age']}}</td>
</tr>
@endforeach

</table>

<br /> <br />

@foreach( $students_empty_val as $stu)
{{$stu['name']}} ,
{{$stu['age']}} <br />
@foreachelse
no data
@endforeach
...全文
1580 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wudimei_com 2016-08-16
  • 打赏
  • 举报
回复
wudimei php 已经支持 html 注释标记。在编辑器中不会看到乱码了。因为<!-- -->会把代码注释掉,当然,有把"<!--"和"-->"两个标记删除的功能。 https://github.com/wudimeicom/WudimeiPHP/blob/master/test/view_comment_tags.php https://github.com/wudimeicom/WudimeiPHP/blob/master/test/views/default/index/comment_tags.view.phtml
<?php
require_once __DIR__ .'/../autoload.php';
//use Wudimei\View;
use Wudimei\StaticProxies\View;


View::loadConfig( __DIR__ . '/view_config.php' );
View::setForceCompile(true);
View::setSkipCommentTags( true ); // skip <!-- and -->

$vars = [
		'success' => true		,
		'role' => 'admin'	,
		'years' => [2016,2017,2018,2019]
];

echo View::make("default.index.comment_tags",$vars );
comment_tags.view.phtml

<!-- @if( $role == 'admin') -->
hello,{{$role}}
<!-- @else -->
hello,guest
<!-- @endif -->

<!-- @foreach($years as $year) -->
<!-- {{$year}} --><br />
<!-- @foreachelse -->
sorry,years arrary is empty
<!-- @endforeach -->

@if( count( $years) == 4 )
4 years
@else
not 4 years
@endif

<!-- @section('body') -->
this is the body
<!-- @endsection -->
xuzuning 2016-06-29
  • 打赏
  • 举报
回复
并不是说要你提供可视化编程 现在编辑 html 工具很多,你的模板在这些工具里就是乱七八糟的一坨 而手写 html 是比手写 php 更痛苦的事情
wudimei_com 2016-06-29
  • 打赏
  • 举报
回复
可视化编辑,还没有这功能。是我自己写的,以前还写过一个叫rong framework 的框架。
qq_22218553 2016-06-28
  • 打赏
  • 举报
回复
你自己写的吗?
xuzuning 2016-06-28
  • 打赏
  • 举报
回复
你的模版不能可视化编辑
内容概要:本文围绕Module模块化开发在5G网管系统中的插件化架构应用展开,重点介绍如何通过模块化与插件化技术解决多厂商设备(如华为、中兴、爱立信等)北向接口适配难题。文章提出基于SPI机制、类加载器隔离、协议转换模块化和灰度发布等核心技术,构建可扩展、易维护的网管系统架构,并通过华为告警适配插件的完整代码示例,展示了插件从定义、加载到解析的全流程。该架构实现了厂商适配的解耦与热插拔,显著提升系统的灵活性与可维护性。; 适合人群:具备Java开发基础,熟悉SPI、类加载机制,从事通信网管系统、OSS系统或大型企业级平台开发的研发人员,尤其是工作3-5年、参与过系统集成或中间件设计的工程师; 使用场景及目标:①实现跨厂商5G基站告警采集与性能监控的统一接入;②构建可扩展的光传输网络拓扑发现与核心网配置审计系统;③支持故障诊断平台的知识插件动态扩展;④降低新增设备厂商的接入周期与运维成本; 阅读建议:此资源强调架构设计与工程实践结合,建议读者不仅关注代码实现,还需深入理解SPI机制、类加载隔离原理及插件生命周期管理策略,结合实际网管场景进行模拟开发与调试,掌握高可用插件化系统的设计要点。
内容概要:本文围绕“Module模块化开发实践项目在通信行业的应用”,系统阐述了模块化开发在嵌入式通信系统中的关键技术与实际应用。通过引入模块、接口契约和关注点分离等核心概念,结合状态机驱动、配置与代码分离、自动化测试等实践技巧,展示了如何构建高可靠、易维护的通信软件系统。文章以一个基于RTOS的多协议通信固件为例,深入分析了线路监控、协议处理与主机通信三大模块间的事件驱动机制和解耦设计,强调了硬件抽象层与消息队列在实现可移植性和可扩展性中的关键作用,并展望了算网融合、零信任安全和低代码配置等未来趋势。; 适合人群:具备嵌入式系统基础、熟悉C语言与RTOS开发,有1-3年通信或工业控制领域经验的软件工程师和技术架构师。; 使用场景及目标:①掌握通信设备中多协议栈(如Contact ID、SIA)的模块化实现方法;②学习高可用通信系统中的冗余切换、故障恢复与状态机设计;③理解如何通过模块化解耦提升系统的可测试性、可维护性和跨平台适应能力; 阅读建议:建议结合RTOS平台动手实践文中代码案例,重点关注消息队列的使用、状态机的设计以及模块间接口的定义,同时思考如何将模块化思想拓展至网络功能虚拟化与边缘计算场景。

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧