经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » PHP » 查看文章
PHP开发搭建环境二:开发工具PhpStorm安装、激活以及配置
来源:cnblogs  作者:奋斗的青春最美  时间:2018/11/14 10:03:22  对本文有异议

 

关于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日历类

  1. <?php
  2. class Calendar {
  3. private $year; //当前的年
  4. private $month; //当前的月
  5. private $start_weekday; //当月的第一天对应的是周几
  6. private $days; //当前月一共多少天
  7. function __construct(){
  8. $this->year=isset($_GET["year"]) ? $_GET["year"] : date("Y");
  9. $this->month=isset($_GET["month"]) ? $_GET["month"] : date("m");
  10. $this->start_weekday=date("w", mktime(0, 0, 0, $this->month, 1, $this->year));
  11. $this->days=date("t", mktime(0, 0, 0, $this->month, 1, $this->year));
  12. }
  13. function out(){
  14. echo '<table align="center">';
  15. $this->chageDate("test.php");
  16. $this->weeksList();
  17. $this->daysList();
  18. echo '</table>';
  19. }
  20. private function weeksList(){
  21. $week=array('','','','','','','');
  22. echo '<tr>';
  23. for($i=0; $i<count($week); $i++)
  24. echo '<th class="fontb">'.$week[$i].'</th>';
  25. echo '</tr>';
  26. }
  27. private function daysList(){
  28. echo '<tr>';
  29. //输出空格(当前一月第一天前面要空出来)
  30. for($j=0; $j<$this->start_weekday; $j++)
  31. echo '<td> </td>';
  32. for($k=1; $k<=$this->days; $k++){
  33. $j++;
  34. if($k==date('d'))
  35. echo '<td class="fontb">'.$k.'</td>';
  36. else
  37. echo '<td>'.$k.'</td>';
  38. if($j%7==0)
  39. echo '</tr><tr>';
  40. }
  41. //后面几个空格
  42. while($j%7!==0){
  43. echo '<td> </td>';
  44. $j++;
  45. }
  46. echo '</tr>';
  47. }
  48. private function prevYear($year, $month){
  49. $year=$year-1;
  50. if($year < 1970)
  51. $year = 1970;
  52. return "year={$year}&month={$month}";
  53. }
  54. private function prevMonth($year, $month){
  55. if($month == 1) {
  56. $year = $year -1;
  57. if($year < 1970)
  58. $year = 1970;
  59. $month=12;
  60. }else{
  61. $month--;
  62. }
  63. return "year={$year}&month={$month}";
  64. }
  65. private function nextYear($year, $month){
  66. $year = $year + 1;
  67. if($year > 2038)
  68. $year = 2038;
  69. return "year={$year}&month={$month}";
  70. }
  71. private function nextMonth($year, $month){
  72. if($month==12){
  73. $year++;
  74. if($year > 2100)
  75. $year=2100;
  76. $month=1;
  77. }else{
  78. $month++;
  79. }
  80. return "year={$year}&month={$month}";
  81. }
  82. private function chageDate($url=""){
  83. echo '<tr>';
  84. echo '<td><a href="?'.$this->prevYear($this->year, $this->month).'">'.'<<'.'</a></td>';
  85. echo '<td><a href="?'.$this->prevMonth($this->year, $this->month).'">'.'<'.'</a></td>';
  86. echo '<td colspan="3">';
  87. echo '<form>';
  88. echo '<select name="year" onchange="window.location=\''.$url.'?year=\'+this.options[selectedIndex].value+\'&month='.$this->month.'\'">';
  89. for($sy=1970; $sy <= 2100; $sy++){
  90. $selected = ($sy==$this->year) ? "selected" : "";
  91. echo '<option '.$selected.' value="'.$sy.'">'.$sy.'</option>';
  92. }
  93. echo '</select>';
  94. echo '<select name="month" onchange="window.location=\''.$url.'?year='.$this->year.'&month=\'+this.options[selectedIndex].value">';
  95. for($sm=1; $sm<=12; $sm++){
  96. $selected1 = ($sm==$this->month) ? "selected" : "";
  97. echo '<option '.$selected1.' value="'.$sm.'">'.$sm.'</option>';
  98. }
  99. echo '</select>';
  100. echo '</form>';
  101. echo '</td>';
  102. echo '<td><a href="?'.$this->nextYear($this->year, $this->month).'">'.'>>'.'</a></td>';
  103. echo '<td><a href="?'.$this->nextMonth($this->year, $this->month).'">'.'>'.'</a></td>';
  104. echo '</tr>';
  105. }
  106. }
  107. ?>

4.2.新建一个test.php测试类

  1. <style>
  2. table {
  3. border:1px solid #050;
  4. }
  5. .fontb {
  6. color:white;
  7. background:blue;
  8. }
  9. th {
  10. width:30px;
  11. }
  12. td,th {
  13. height:30px;
  14. text-align:center;
  15. }
  16. form {
  17. margin:0px;
  18. padding:0px;
  19. }
  20. </style>
  21. <?php
  22. include "calendar.class.php";
  23. $calendar=new Calendar;
  24. $calendar->out();
  25. ?>

4.3.点击右上角的浏览器

有问题的联系笔者电话微信18629374628,欢迎交流

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号