文档章节

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

辣条拌鱼翅
 辣条拌鱼翅
发布于 2017/02/13 15:06
字数 1619
阅读 22
收藏 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
细谈Node.js----我的笔记

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

crossmix
2016/01/04
221
0
从 PHP 转到 Node.js 的那些事

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

伯乐在线
2016/06/08
0
0
吴恩达 DeepLearning.ai 课程提炼笔记(3-2)结构化机器学习项目 --- 机器学习策略(2)

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

大树先生
2017/10/24
0
0
crazycooler/Fish-MD

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

crazycooler
2017/12/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部