前几天忘记了上传
2017.11.03
1、熟悉农机局的项目
2、Maven环境的搭建
确定安装了jdk
(1)下载Maven
(2)环境变量:MAVEN_HOME=Maven的解压目录
path=%MAVEN_HOME%\bin 加一个这个
(3)cmd中敲mvn -version看是否成功
(4)eclipse配置Maven
Preferences-Maven-Installations点击ADD 选中你的Maven路径
在Maven-User Settings中加载我们队Settings.xml 的更改
把apache-maven-3.0.4下的conf下的settings.xml复制到.m2下
修改<localRepository>复制后的.m2那个路径</localRepository>
1.创建简单的maven 的web项目
mvn archetype:create
举例:mvn archetype:create -DgroupId=com.demo.app -DartifactId=demo-app -DarchetypeArtifactId=maven-archetype-webapp
2.生成和清除Eclipse项目结构:
mvn eclipse:eclipse 将maven项目变成eclipse,其实是在项目中生成 .project 和 .classpath 两个文件
mvn eclipse:clean 清理(删除target目录下编译内容)
mvn clean 打包发布
3、下午农机局项目的开发洽谈的学习
本次洽谈之前项目负责人已经对该项目的开发与客户确定基本的开发功能与条件。这次确定了项目功能的开发顺序及各个功能的交付时间。
在与客户谈开发之前要充分了解一下客户的需求;对于二次开发项目先要把客户原来的项目熟悉了。
拿到一个二次开发的项目要看它的数据结构,功能。
对数据的操作有读取、新增、更新、删除。后面三种是不可逆的。
二次开发的两种方式:
(1)在代码里加代码(2)对页面本身集成度不是很高的采取新系统继承老系统的方式(A、B两个系统)。???
2017.11.04
农机局项目的部署
当时刘进给的我的Tomcat文件里面包含了一个Tomcat环境和农机局的代码文件,我需把文件的Root文件拷贝到本机的Tomcat目录的wabapps目录中,启动tomcat startup.bat文件。
运行sql文件时出错,可能执行sql文件的时间太长了或者是里面的某个数据太大了。需要改变my.ini的配置 或者使用以下语句(主要解决连接超时,导入的sql文件过大)
set global max_allowed_packet=1000000000;
客户端/服务器之间通信的缓存区的最大大小;
set global net_buffer_length=100000;
TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行;
set global interactive_timeout=28800000;
对后续起的交互链接有效;
set global wait_timeout=28800000;
对当前交互链接有效;
注意有时Tomcat的index.jsp文件会覆盖掉你想访问的那个页面,这时需要删除Tomcat默认的主页。
2017.11.05
PHP特殊类型---空类型
unset($a);//释放$a使它变为null,注销定义。
PHP自定义常量
bool define(string $constant_name,mixed $value[,$case_sensitive=true]);
三个参数(constant_name,常量名 字符串型)(value,值 可以是不同类型)(case_sensitive,对大小写是否敏感,默认false敏感)
ex:define(“PI”,3.14);
PHP系统常量
__FILE__:php程序文件名,它可以帮助我们获取当前文件在服务器的物理位置。
__LINE__:php程序文件行数,告诉我们当前代码在第几行
PHP_VERSION:当前解析器的版本号。
PHP_OS:执行前PHP版本的操作系统名称。
2017.110.6
PHP--常量如何取值
(1)使用常量名直接获取(2)用constant(string constant_name)函数返回一个值
PHP--常量是否被定义
“Constant XXX already defined”警告:常量已被定义
用defined()函数判断常量是否被定义,bool defined(string constants_name) 返回boolean类型
PHP--赋值运算符
& 引用赋值,两个变量共享一块内存,如果内存存储的数据变了,那么两个变量值都变。
PHP--比较运算符
== 等于
=== 全等于 值相同,类型也相同
!= , <> 不等
!== 非全等,值不等或者类型不同
三元运算符(“?:”)对于表达式(e1)?(e2):(e3);e1值为true,则表达式值为e2,否则为e3;
PHP--逻辑运算符
and 、&& 与 or、||或 xor异或 !非
PHP--连接符
. 和 .=
PHP--错误控制运算符
@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;
如果激活了track_error(在php.ini中设置)特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量每次出错都会被覆盖。
@不会屏蔽解析错误的信息,不能把它放在函数或定义之前,也不能用于条件结构
foreach()
不取下标:foreach(数组 as 值) 取下标:foreach(数组 as 下标 =>值)
数组
基本和java差不多
array(“”,””);
array(“1”=>”mm”);
print_r();输出数组键及值
对象
$car = new Car();声明对象 也可以用变量创建$cName=’Car’;$car=new $cName();
echo $car->getName();调用对象
静态属性调用方法 ::
对象属性
public protected private
构造函数和析构函数
构造函数_construct()
析构函数_destruct() 当某个对象的所有引用被删除,或对象被显示销毁时会执行的函数;
下午在农机局参与项目的讨论与学习。
2017.11.07
PHP方法的重载
通过__call来实现,当调用不存在的方法时,将会转为参数调用__call方法,当调用不存在的静态方法时会使用__callStatic重载
属性的重载
通过__set,__get,__isset,__unset分别实现对不存在的属性赋值、读取、判断属性是否设值、销毁属性。
PHP对象复制
关键字__clone赋值一个对象,和原对象没有关系。
serialize对象序列化 unserialize反序列化为对象
正则表达式匹配模式
分隔符/ # ~
如果模式中包含分隔符,则分隔符需要用反斜杠进行转义/http:\/\// 目标是http://
模式中有较多的分隔符则换其它字符为分隔符,或者用preg_quote进行转义
$p=’http://’; $p=’/’.preg_quote($p,’/’).’/’;
元字符与转义
常用的元字符:\一般用于转义字符 ^断言目标的开始位置(或在多行模式下是行首) $断言目标的结束位置(或在多行模式下是行尾) .匹配除换行符之外的任何数字 [开始字符类定义 ]结束字符类定义 |开始一个可选分支
(子组的开始标记 )子组的结束标记 ?作为量词,表示0次或1次匹配。位于量词后面用于改变量词的贪婪特性。 *量词,0次或多次匹配 +量词,1次或多次匹配 {自定义量词开始标记 }自定义量词结束标记
+贪婪模式:尽可能多地匹配 ?懒惰模式:尽可能少地匹配
\w 字母 \d 数字
preg_match只能匹配一次结果,
preg_match_all循环获取一个列表的匹配结果数组;$matches[0]保存完整的所有匹配,$matches[1]中保存第一个子组的所有匹配,以此类推;
preg_replace() 替换
农机局项目agr_refer_relation_expression表的构建,agr_refer_relation表中“农作物总种植面积” 有七条记录很难区分,通过is_ts字段判断出总的那个数据是哪个。