PHP开发搭建环境二:开发工具PhpStorm安装、激活…

2018-11-20 03:20:26来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

 

关于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,欢迎交流

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:php把阿拉伯数字转为银行数字大写

下一篇:PHP 用 fsockopen()、fputs() 来请求一个 URL,不要求返回