仿照easyUI验证规则写的一套验证框架,底层实现不一样,效率比EasyUI高 说明: EJS是我自己平时写代码时慢慢封装的一些常用的方法,基于seajs和Jquery, 以后慢慢就会是一个大的控件库(自家用). 现在已经有很多组件了(本demo中删除其他组件,只保留了验证组件需要用到的核心组件, 即util, 以免展示核心代码时混淆). 本Demo主要用来展示我最近花一天时间仿照EasyUI的规则写的一个验证组件.效率比EasyUI要高. html核心代码在---- vaild_demo/index.html js核心代码在---- vaild_demo/js/index/index.js 组件的核心代码在---- vaild_demo/EJS/src/ 建议读一下vaild_demo/EJS/src/valid/valid.js的源代码. bindValid方法. 最近更新到1.3版,增加了异步验证的功能. 第一个验证框使用了异步验证, 不妨输入admin试试. 因为是写出来解决自己问题的. 暂时还没写文档.. 内置的验证规则也不多. -0 - 不过验证规则很容易扩展, 不妨看看源码. 下面放出下载地址: http://git.oschina.net/Adraix/valid_demo首先:我们来使用一个经常见到的函数getip()来实现IP的获取: [mw_shl_code=php,true] function getip(){ if (getenv(“HTTP_CLIENT_IP”) && strcasecmp(getenv(“HTTP_CLIENT_IP”), “unknown”)) { $ip = getenv(“HTTP_CLIENT_IP”); } else if ( getenv(“HTTP_X_FORWARDED_FOR”) && strcasecmp(getenv(“HTTP_X_FORWARDED_FOR”), “unknown”)) { $ip = getenv(“HTTP_X_FORWARDED_FOR”); } else if (getenv(“REMOTE_ADDR”) && strcasecmp(getenv(“REMOTE_ADDR”), “unknown”)) { $ip = getenv(“REMOTE_ADDR”); } else if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], “unknown”)) { $ip = $_SERVER['REMOTE_ADDR']; } else { $ip = “unknown”; } return $ip; } [/mw_shl_code] 第二步:将获取到的IP地址传递个新浪IP接口 利用一个常用的函数file_get_contents来获取其json格式的返回值,这样我们就可以实现IP地址与对应省份城市的转换;
[mw_shl_code=php,true]function getLocation($ip=”) { empty($ip) && $ip = getip(); if($ip==”127.0.0.1″) return “本机地址”; $api = “http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json& ip=$ip”; $json = @file_get_contents($api);//调用新浪IP地址库 $arr = json_decode($json,true);//解析json $country = $arr['country']; //取得国家 $province = $arr['province'];//获取省份 $city = $arr['city']; //取得城市 if((string)$country == “中国”){ if((string)($province) != (string)$city){ $_location = $province.$city; }else{ $_location = $country.$city; } }else{ $_location = $country; } return $_location;} [/mw_shl_code] 第三步:功能的实现 [mw_shl_code=php,true]echo getLocation(); //或者 echo getLocation(“222.210.4.66″);[/mw_shl_code]
1. 呈现层(Presentation Layer), 也就是我们在自己电脑上看到的用户界面,一般指的是咱们的浏览器。负责收取咱们用户输入的信息,还有在屏幕上现实从服务器返回过来的结果。HTML就是在这一层使用的技术~ 2. Business Logical Layer(商业逻辑层):这一层是整个网络应用的中枢系统,应用程序的主体和逻辑都布置在这一层(比如在购物网站购物车的功能,登录的功能,等等),一般就是网络服务器。我们要学习的PHP就是运行在这一层的脚本语言。 3. 数据层: 顾名思义,这一层主要是数据的管理,一般用到的就是数据库。比如Mysql。 下面我举个栗子来说明一下具体这三层是怎么运用在实际中的,还有咱们上网的真相是什么(篇幅原因,从简,有问题可以跟帖我具体解释)~ ================我是栗子================================== 咱们打开浏览器,输入地址上了技术宅论坛(这一步涉及到地址解析等知识,在此不作详叙),第一件事就是要登录。 可以这么看,我们的浏览器就是一个客户端,技术宅论坛在租用的服务器上部署了服务端和数据库。 首先我们点击登录按钮,“登录”按钮包含的URL(统一资源定位符,也就是链接)信息通过HTTP协议给服务器发送了一个请求(实际的网络链接是通过传输层的TCP进行,HTTP为高一层的协议),服务器一直在通过一个固定端口(比如80)监听着有没有客户发来服务请求。如今服务器收到了来自我这个IP的请求,它知道了咱们想要登录,于是生成了一个登录页面(HTML语言),再通过HTTP协议和TCP把结果返回给客户端。客户端,也就是咱们的浏览器翻译出来这段HTML语言展示给我们,于是我们成功看到了登录的页面。 ================我是栗子================================== 这就是一个最简单的网络应用的栗子,就想象成客户呼叫,服务端提供服务就好了~ 为什么要说这些呢?因为PHP就是一个用在服务端的脚本语言(相对于javascript这种运用的客户端的脚本语言)。通过写PHP,我们可以动态控制用户看到的页面,给用户提供各种服务。可以说,你在这个论坛用到的几乎所有功能都可以用PHP来实现~ ============================================================ 结束了理论基础,我们终于开始进入正题了!!
Your Projects里面就是你www目录下所有可以运行的项目和程序,应该可以看到你刚才自己写的php文件,点击它看看~ 或者直接浏览器输入 http://localhost/{你的文件名}.php 也是一样的效果。 有没有看到Hello World呢? 恭喜你已经运行了第一个php程序~ php还需要控制数据库,Wamp使用的是Mysql~咱们来给自己加建立一个数据库账号吧。 还是左键那个Wamp的图标。 控制Mysql数据库,选择PHPmyAdmin(一款网页版的用于管理MySQL数据库的程序)
点击添加新用户,我们增加一个数据库的用户
按照我的设置,用户名和密码随意,我的就是123 123。这时我们就可以在本机安装一些常用的PHP程序来玩玩了,例如WordPress,又或者一个Discuz论坛。现在我们以discuz为榜样,试验一下,Discuz安装前还要小小的设置一下,Php-php设置-勾选short open tag
数据库用户名和密码按照上面的设置,下面的是Discuz管理员用户名,密码随便,点击“填写完毕,进行下一步”。就会出现安装完成的界面,好了!我们成功地在Windows本机上建立起一个自己的论坛了,总体的步骤都是非常简单的。 大家有兴趣可以试试看~ 尽管可能新手朋友并不了解里面所有东西都是些什么,有什么作用,但我们起码能通过WAMP搭起一个论坛了。有点成就感后再慢慢深入学习也不错的嘛。WAMP类软件对于懒人、对于初入门者的意义还是不轻的,起码,对于初入门者,它能把入门的路铺平一点了。 另外补充一些WAMP的应用:除了用于学习PHP开发外,你还可以在本机搭建一个WordPress写自己的私人日记,建一个私人/局域网的论坛或者博客用作资料储存库,建立用于折腾的试验网站,如专门用来测试WordPress插件、皮肤的博客,又或者测试任何PHP网站程序…… ============================================================== 看了一下时间已经凌晨一点了=。=才写到这里。。效率啊效率=。=明后天还有考试,我先缩下水,大后天补回来。 这是第一次写这样的教程,必须有各种问题…嘛…有什么欢迎跟帖指正! 我发现这是个大坑#38t~~要花时间慢慢写了~~ 这一期主要是讲一点最最最基本的网络应用概念还有让大家熟悉一下,亲手跑几个PHP的程序感受感受。 下节课开始进入正题,从语法开始(语法和其他面向对象语言差不多,不会特别详述~),把PHP几个最基本和最常用的功能讲一下。 在大概3次左右的入门贴之后,就准备分功能模块来讲PHP。比如网上博客文章那么多,分页浏览是怎么实现的;留言板怎么做;怎么用PHP上传处理图片或多媒体之类~~我也正在学习,所以大家一起教学相长吧!! PS:纯手工土制教程。。才发现写个贴好累=。=里面一些图片是我偷懒直接网上截的~还有少部分的概念也就不用自己的话写了~大家有问题欢迎提问~ 我们下节课再见!










