文档章节

PHP开发|服务端开发|代码|我的笔记_已迁移

辣条拌鱼翅
 辣条拌鱼翅
发布于 2017/02/13 15:06
字数 1619
阅读 22
收藏 0
点赞 0
评论 0

 

 

 

 

============== 2017-03-21 start ==========

如何让移动端用户输入数字的方法

<input type="tel" /> //手机端就会直接调出输入手机号的键盘,也可以输入其它字符,可以用JS再加入判断    详细见-传送门 

js NaN判断方式

var a = NaN;

if(a == NaN ) //这种判断方式是错的 用下面的判断方式 

if(isNaN(tmp)){ 
alert("NaN"); 
}

 

 

=========== 2017-03-24 end =============

 

设计构想

============= 设计理念 ================

onethink 模板制作、更新、重用、命名规则

html制作的模板路径位于: public/模块名/html

模板重用性考虑的问题:  css类的重用、HTML代码复用

CSS重用性规则

  • 查看所有UI图,分析哪些是公用CSS类、及可复用HTML结构
  • 整理文件命名规则
  • 通常由两个类组合使用 类1为公共类 类2为这个标签特指的样式
  • 项目中的css手册-再更新或制做新页面的时候一些重用的类可以查阅复用

 

最后更新: 2017-03-13

============== 无情的分隔线 =============== 

我的GIT代码库

ECODE项目_打造自动化编程

    https://git.oschina.net/mjw/eCodePHP      传送门   (PHP)

HTML后台_签约模板

    https://git.oschina.net/mjw/eCode             传送门   (HTML模板)

onethink_v1.0 插件库

    https://git.oschina.net/mjw/onethinkPlug 传送门 (onethink插件库)

收集代码片段及自己写的牛逼程序

    https://git.oschina.net/mjw/CodeLibrary    传送门 (任何语言都可能有 ^_^)

一个简单的python爬虫程序

    https://git.oschina.net/mjw/python_5iweb 传送门 (采集一个网站的.zip文件)

H5_canvas的练习

    https://git.oschina.net/mjw/fore-web         传送门 (h5练习代码)

MySql文档生成程序

    https://git.oschina.net/mjw/sqlDoc             传送门 (PHP生成Mysql文档)

 

PHP-WEB项目开发流程?

  •     需求先行-开发一个怎么样的项目、需要解决什么样的问题
  •     UML模式-用例图等等
  •     原型图设计-设计项目的大致蓝图
  •     UI设计 - 以原型图为框架美化、装饰出平面图,以好让前端开发者参照开发
  •     数据库设计 (如果原型图已经出来可以和UI设计同步进行) - 设计数据结构及分析部分逻辑
  •     程序框架-制定开发原则、及通用类库 版本控制 搭建
  •     漫长的开发与测试阶段
  •     前端界面开发
  •     整合代码
  •     上线测试 - 黑盒测试
  •     代码文档、使用手册、测试报告等文档制作与梳理
  •     代码维护阶段

    

如何可以同步开发环境和测试环境的PHP代码?

    方式1: 公司内部服务器 SVN  外网服务器GIT 

        SVN用于保存日常代码提交版本

        GIT用于保存阶段性测试代码

        测试服务器每次GIT就行

        注意:SVN将.git 忽略不要提交到版本控制中(一些软件的配置都不应提交到版本中)

    方式二:版本控制器与测试环境共存的

 

thinkphp3.2.0_如何在一个搜索框搜索不一样的字段?

来源是onthink1.0

$map['uid|nickname|mobile']=   array(intval($nickname),array('like','%'.$nickname.'%'),array('like','%'.$nickname.'%'),'_multi'=>true);

 

phpstudy 配置URL重写 为什么显示 No input file specified ?

情况一:  切换版本的时候不要选有 -nts 的 如下图

 

thinkphp5 单元测试时无法请求?

由于我把thinkphp3 的 __ROOT__ 常量加到这个版本中来了,但在CMD模式下并没有加载所以导致问题的出现。

composer安装

        https://getcomposer.org/download/ 下载安装程序 (VPN要开启)

        以管理员权限安装, 选择php.exe所在的位置

        完成安装!

  • 配置国内镜像

        https://pkg.phpcomposer.com/

 

如何标记没有完成或待完善的程序?

标识符 TODO:  

 

一些巧妙的判断条件及变相三元

两个条件加括号法

if(!(is_numeric($id) || is_null($id))){
    return '';
}

    理论分析:加括号的原因

    先分析下不加括号  如果没有加括号侧不能取非 即是取反。

    加括号后 优化执行括号内部  is_numeric  返回 true 就不会执行 is_null ,  如果 is_numeric 返回 false  就会执行 is_null  然后再括号外取反

    实例分析:

    参数             返回结果

    字符串 a            false ||  false 
    整型   10            true  ||  false 
    字符串 ''          false ||  true

onethink 模型 后台新建模型后再新建分类时不会在《绑定文档模型》这个选项里面?

答:因为你新建模型的时候选择了独立模型所有不会出现。

通过查看代码,onethink在通过函数common/function.php里有一个 get_document_model 函数,其中 读取数据库时有 $map['extend'] = array('neq', 0);  而你选择的独立模型是 extend eq 0 的所有这就是为什么有些模型不会出现在《绑定文档模型》中。

thinkphp5.0.4 回滚测试

测试代码片断

<?php
namespace app\admin\model;
use think\Model;
use think\Db;
class Article extends Model
{
    //回滚测试 -----
    public function testDel()
    {
        //echo 'testDel';
        // $res = $this->where(array('id' => 1))->delete();
        // dump($res);

        // 启动事务
        Db::startTrans();
        try{
            //Db::table('think_user')->find(1);
            //Db::table('e_article')->delete(1);
            $this->where(array('id' => 2))->delete();
            $this->where(array('aaaa'=> 4))->delete(); //没有 aaaa字段所有出错启动了回滚
            echo 222;
            // 提交事务
            Db::commit();    
        } catch (\Exception $e) {
            echo 111;
            // 回滚事务
            Db::rollback();
        }
    }
}

 

thinkphp3.2.0 事务机制

如果在使用事务,发现不会回滚或两个表中有一处表回滚而另一个不回滚 就应检查下表的引擎是否为InnoDB

 

如何保证两表数据完整 

  • 可以用事务机制
  • 使用外键方式_设计模型时可以生成这段SQL 如 navicat    不过我发这种方式强制性比较高,添加时必须一起增加,删除两表相关联的数据必须一起删除。适合单表对单表的关联。 至于一对多表的还待研究

 

onethink 常量定义位置

Application\Common\Common\function.php 

例:

// OneThink常量定义
const ONETHINK_VERSION    = '1.0.131218';
const ONETHINK_ADDON_PATH = './Addons/';

 

css隔行换色

table tr:nth-child(odd)  /* odd奇数 even 偶数*/

 

CSS-关于浮动那些事

情景  当你写 .parent p 写了属性为 float:left; 

情景结果  你会发现下面与 .parent同级的感觉也跟着float-left了

分析结果  经过审查元素可以看出 .parent 中的 height为0了, 所以并不是float了,而是由于p float之后就没有占高度, .parent 需要设置高度。

 

Validate-这TM感觉这么难呢

如何定义错误容器

errorPlacement: function(error, element) {  
    error.appendTo(element.parent());  
}

 

折叠的表单如何定义验证

注意: validate不会验证display:none 的表单

EG:传送门

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
辣条拌鱼翅
粉丝 25
博文 268
码字总数 73301
作品 0
朝阳
程序员
为什么要用PHP Migrations

曾经也思考过,代码管理可以用代码版本控制git、svn来协同,怎么数据库字段就不能用git、svn来同步? 后来在团队开发中认识到Migrations数据库迁移工具,我的理解是【数据库字段同步工具】,...

小和
2016/09/02
29
0
从 PHP 转到 Node.js 的那些事

本文由伯乐在线 -未济 翻译,艾凌风 校稿。未经许可,禁止转载! 英文出处: Tim Whidden。欢迎加入翻译组。 如果你们开发团队正在使用PHP,并考虑迁移到Node.js,这篇文章很适合你。本文并不...

伯乐在线
2016/06/08
0
0
细谈Node.js----我的笔记

学习心得 如何利用Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的 Javascript引擎。chrome浏览器就基于V8,同时打开20-30个网页都很流畅。N...

crossmix
2016/01/04
221
0
crazycooler/Fish-MD

Fish-MD Fish-MD是一款非常轻量级的Markdown云笔记工具,可以支持云端的数据同步功能。 和常规的markdown编辑工具相比,增加了图片的粘贴功能,可以将剪贴板中的图片,通过ctrl+v直接将图片添...

crazycooler
2017/12/11
0
0
吴恩达 DeepLearning.ai 课程提炼笔记(3-2)结构化机器学习项目 --- 机器学习策略(2)

以下为在Coursera上吴恩达老师的DeepLearning.ai课程项目中,第三部分《结构化机器学习项目》第二周课程“机器学习策略(2)”关键点的笔记。本次笔记并几乎涵盖了所有视频课程的内容。在阅读...

大树先生
2017/10/24
0
0
免费的计算机编程类中文书籍

免费的编程中文书籍索引,欢迎投稿。 国外程序员在 stackoverflow 推荐的程序员必读书籍,中文版。 stackoverflow 上的程序员应该阅读的非编程类书籍有哪些? 中文版 github 上的一个流行的编...

justjavac
2014/08/13
2.6K
10
从前端到后台,开发一个完整功能的小程序

《微信小程序开发入门》专栏前面的文章主要介绍了小程序前端的开发,对于一个较复杂和完整功能的小程序都是需要后台的支撑的,比如数据的获取和存储、逻辑的处理等。 后台的开发,可以选择P...

anda0109
2017/06/15
0
0
免费的编程中文书籍索引

免费的编程中文书籍索引,欢迎投稿。 国外程序员在 stackoverflow 推荐的程序员必读书籍,中文版。 stackoverflow 上的程序员应该阅读的非编程类书籍有哪些? 中文版 github 上的一个流行的编...

modernizr
2014/04/08
6.9K
24
编程类开放书籍荟萃(转载)

关于开源图书有人在网络上做了大量整理,本文为大家刊载《免费的编程中文书籍索引》 国外程序员在 stackoverflow 推荐的程序员必读书籍,中文版。 stackoverflow 上的程序员应该阅读的非编程...

行者PHPer
2016/10/09
77
0
yii2开发中19条推荐实践(阿北总结)

虽然每个人的编程风格不同,但是有些建议能让你的代码更加规范和稳定,本次就我这次网站更新总结如下几点,希望对你的yii2学习和使用有所帮助。 环境说明 服务器环境: CentOS 开发环境及IDE...

阿北2017
06/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

jquery获取当前日期并且格式化

1.制定Format规则 //时间格式化问题Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 ......

gulf
4分钟前
0
0
Spring5(Java8版本)中的反射工具类和注解工具类

1.反射工具类 学习反射时很好的反射教程.这个工具类是基于Java8的。 package org.springframework.util;import java.lang.reflect.Constructor;import java.lang.reflect.Field;imp...

hutaishi
5分钟前
0
0
java io

Java IO在实际开发中的应用 http://www.cnblogs.com/ldh-better/p/7158658.html

小鱼吃大鱼
5分钟前
0
0
初结 react(当 React 版本是 ^16.2.0,当前时间 2018-01-12)

最近一段时间在零零碎碎地看 react 。在此,向所有自学 react 的朋友点个赞。多说一句,在自学道路上一定要戒骄戒躁,坚持下来。-----因为自学过程真的是心累啊(不同版本的博客不同的说法)...

秋季长青
7分钟前
7
0
grub2要启动整个iso的菜单命令如下

grub2要启动整个iso的菜单命令如下 menuentry "启动 Deepin OS Live System" --class deepin { set isofile=/DeepinOS.iso search -f --no-floppy --set=root $isofile set gfxpayload=keep ......

ziluopao
13分钟前
1
0
vue如何使用富文本编辑器wangEditor及图片上传

html定义一个装编辑器的DIV <template> <div id="editor"></div></template> npm安装wangEditor npm install wangeditor --save /wangeditor需要小写/ vue页面导入wangEditor import......

心鑫
17分钟前
0
0
乐观锁

最近公司一个项目中会遇到一个用户记录被多次插入的情况。其实在保存之前先判断有没有的。 觉得可以采用乐观锁机制来解决问题。 JPA之@Version进行乐观锁并发更新 使用JPA实现乐观锁 spring...

miaojiangmin
20分钟前
1
0
flowable 清除流程部署缓存

flowable 或者activity 修改流程图后 需要重启服务器。此文档可解决不用重启服务器,直接干货 public class DeploymentCacheCmd implements Command<Deployment>, Serializable { priv...

装死的乌龟
25分钟前
0
1
安装APK报错 INSTALL_FAILED_TEST_ONLY终极解决方案

1、检查\app\src\main\AndroidMainfest.xml中是否有testOnly属性为true,如果有去掉或者改为false 2、检查Android Studio和gradle版本是否为alpha版本,换为稳定版本 3、检查是否关闭Instant...

harukong
28分钟前
0
0
并发插入引发的死锁问题排查

一.业务背景 我们现在的业务是一款数据产品,有不少实时计算和爬取来的数据都汇总到大数据仓库、数据挖掘平台ODPS上。然后应用在读取这些数据时,这些数据会先导入到并发读能力更强,适合结构...

tantexian
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部