前幾天忘記了上傳
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字段判斷出總的那個數據是哪個。