PHP开发环境搭建一:PHP集成环境XAMPP 的安装与配置
关于php的开发工具很多,目前市面上最好用最强大的莫过于phpstorm这款开发神器了,但是鉴于很多开发者朋友在网站上下载的phpstorm开发工具不能用,或者使用起来很不方便,笔者把最好用的下载地址及免费激活教程共享出来。
一、安装并配置集成环境xampp
具体可以参考我的这篇博客:php开发环境搭建一:php集成环境xampp 的安装与配置
二、下载安装并破解phpstorm
1. 点击这里下载 phpstorm-2017.3.4.exe 的windows版本。提取密码: myye。
下载完成后,直接进行安装,安装过程很简单。
2. 注册免费激活
首先,需要修改本地的hosts文件(路径一般为c:\windows\system32\drivers\etc\hosts),添加下面这行代码。
0.0.0.0 account.jetbrains.com
保存即可。目的是为了避免phpstorm联网注册时失败。
其次,直接用浏览器打开 http://idea.lanyus.com/ ,点击页面中的 获得注册码 ,拷贝激活码。
最后,运行phpstorm-2017.3,在激活界面,切换至activation code选项,粘贴刚刚拷贝的激活码,点击激活即可。
3.配置phpstorm
3.1.setting中配置interpreter
3.2.添加本地interpreter path
3.3.选择php解释器(php.exe)的安装目录
这个安装目录在xampp的安装目录下的\php\php.exe这里。
点击ok配置完毕。
4.测试一下
4.1.新建一个calendar.class.php日历类
<?php class calendar { private $year; //当前的年 private $month; //当前的月 private $start_weekday; //当月的第一天对应的是周几 private $days; //当前月一共多少天 function __construct(){ $this->year=isset($_get["year"]) ? $_get["year"] : date("y"); $this->month=isset($_get["month"]) ? $_get["month"] : date("m"); $this->start_weekday=date("w", mktime(0, 0, 0, $this->month, 1, $this->year)); $this->days=date("t", mktime(0, 0, 0, $this->month, 1, $this->year)); } function out(){ echo '<table align="center">'; $this->chagedate("test.php"); $this->weekslist(); $this->dayslist(); echo '</table>'; } private function weekslist(){ $week=array('日','一','二','三','四','五','六'); echo '<tr>'; for($i=0; $i<count($week); $i++) echo '<th class="fontb">'.$week[$i].'</th>'; echo '</tr>'; } private function dayslist(){ echo '<tr>'; //输出空格(当前一月第一天前面要空出来) for($j=0; $j<$this->start_weekday; $j++) echo '<td> </td>'; for($k=1; $k<=$this->days; $k++){ $j++; if($k==date('d')) echo '<td class="fontb">'.$k.'</td>'; else echo '<td>'.$k.'</td>'; if($j%7==0) echo '</tr><tr>'; } //后面几个空格 while($j%7!==0){ echo '<td> </td>'; $j++; } echo '</tr>'; } private function prevyear($year, $month){ $year=$year-1; if($year < 1970) $year = 1970; return "year={$year}&month={$month}"; } private function prevmonth($year, $month){ if($month == 1) { $year = $year -1; if($year < 1970) $year = 1970; $month=12; }else{ $month--; } return "year={$year}&month={$month}"; } private function nextyear($year, $month){ $year = $year + 1; if($year > 2038) $year = 2038; return "year={$year}&month={$month}"; } private function nextmonth($year, $month){ if($month==12){ $year++; if($year > 2100) $year=2100; $month=1; }else{ $month++; } return "year={$year}&month={$month}"; } private function chagedate($url=""){ echo '<tr>'; echo '<td><a href="?'.$this->prevyear($this->year, $this->month).'">'.'<<'.'</a></td>'; echo '<td><a href="?'.$this->prevmonth($this->year, $this->month).'">'.'<'.'</a></td>'; echo '<td colspan="3">'; echo '<form>'; echo '<select name="year" onchange="window.location=\''.$url.'?year=\'+this.options[selectedindex].value+\'&month='.$this->month.'\'">'; for($sy=1970; $sy <= 2100; $sy++){ $selected = ($sy==$this->year) ? "selected" : ""; echo '<option '.$selected.' value="'.$sy.'">'.$sy.'</option>'; } echo '</select>'; echo '<select name="month" onchange="window.location=\''.$url.'?year='.$this->year.'&month=\'+this.options[selectedindex].value">'; for($sm=1; $sm<=12; $sm++){ $selected1 = ($sm==$this->month) ? "selected" : ""; echo '<option '.$selected1.' value="'.$sm.'">'.$sm.'</option>'; } echo '</select>'; echo '</form>'; echo '</td>'; echo '<td><a href="?'.$this->nextyear($this->year, $this->month).'">'.'>>'.'</a></td>'; echo '<td><a href="?'.$this->nextmonth($this->year, $this->month).'">'.'>'.'</a></td>'; echo '</tr>'; } } ?>
4.2.新建一个test.php测试类
<style> table { border:1px solid #050; } .fontb { color:white; background:blue; } th { width:30px; } td,th { height:30px; text-align:center; } form { margin:0px; padding:0px; } </style> <?php include "calendar.class.php"; $calendar=new calendar; $calendar->out(); ?>
4.3.点击右上角的浏览器
有问题的联系笔者电话微信18629374628,欢迎交流
上一篇: 内置对象Cookie和Session有何不同【常见面试题】
下一篇: 对列表与元组的认识