怎么启动php命令行,开发独立EXE桌面应用程序?
摘要:在我认识的所有程序员里,每个人几乎都有专属于自己的常用工具和相关资源,今天给大家奉上数十个程序员硬核工具,我相信这里总有一款工具是属于你的!
程序员生产力工具大全如下:
1. Idea-Intellij IDEA (java 编程语言 开发的集成环境)
业界排名第一的java开发工具,非常非常好用,如果还在用eclipse的朋友,赶紧来体验一把,你一定会爱上她的。
2. SecureCRT (SSH终端仿真程序)
SecureCRT是一款终端仿真程序,支持SSH(SSH1和SSH2)以及Telnet和rlogin协议。SecureCRT用于连接运行包括Windows、UNIX和VMS在内的远程系统的理想工具。
3. Termius (全平台的远程终端)
termius是一款全平台的远程终端,Termius不仅涵盖了Windows、Linux、OSX,还变态得支持Android和iOS(以后在地铁、公交上都可以随时拿出手机来排查线上问题啦,还真是广大程序员的福音呢。
4. Google Chrome (谷歌浏览器)
Google Chrome是一款由Google公司开发的网页浏览器,该浏览器基于其他开源软件撰写,包括WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。
5. iTerm (为Mac OS X编写的终端仿真程序)
iTerm是一个为Mac OS X编写的,功能齐全的终端仿真程序;目标是在为用户提供OS X下最佳的命令行体验;字母i代表了本地苹果的外观和风格的程序界面,并把重点放在完整的国际支持; 它合并由两个项目, CTerminal和TerminalX ,而这两者都是基于JTerminal项目;该软件非常有实用和易用性。
6. Visual Studio Code (简称“VS Code”,编写现代Web和云应用的跨平台源代码编辑器)
重新定义和优化了代码编辑,以便生成和调试新式 Web 应用程序和云应用程序。也是著名的文本编辑器,它是轻量级的,vSCode的一大特点就是你可以通过多种方式来调整设置,而且Vim可以和VScode集成在一起,它还带有一个集成终端,可用的扩展太多,使开发人员的工作变得更加轻松。我最喜欢的一些扩展是AWS Toolkit, ESLint,Live Server, Live Share, Prettier-代码格式化程序,YAML,Live Sass编译器,Docker等。
7. VMware Fusion & VMware workstation (为计算机开发的虚拟机管理程序)
是在计算机上无缝运行 Windows 的最佳方式,可确保 Windows 应用程序在计算机上实现无缝运行可以在基于 Intel 的计算机上无缝运行 Windows、Linux 以及其他 PC等多个操作系统,进而构建、测试或演示软件。
8. Navicat Premium (数据库管理工具)
Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle 及 PostgreSQL 资料库,让管理不同类型的资料库更加的方便。
9. Postman (api调试工具)
简单来说,四个词,简单、实用、大方、美观!postman这款网页调试工具的windows客户端,功能强大的HTTP调试与模拟插件。使用Postman可以进行API开发、请求、调试,除了它,还可以使用lnsomnia和Insomnia Designer作为API文档。
10. RedisDesktopManager (一款可视化 redis管理工具 )
Redis Desktop Manager是一款简单快速、跨平台的Redis桌面管理工具,也被称作Redis可视化工具,Redis Desktop Manager官方版是一款开源软件,支持通过SSH Tunnel连接,支持windows、mac等多平台。
11. Dash (基于MAC的 API文档浏览器和代码片段管理器)
“开发者不可或缺的杰作。”Dash 可让您的 Mac 即时离线访问 200 多个 API 文档集。立刻搜索离线文件集200层+的API ,100+备忘单和 href="">更多 功能。您甚至可以"">生成自己的文档集 或 href="">请求 包含href="">文档集 。
12. Fiddler & Wireshark (http抓包工具)
Fiddler和Wireshark都是进行抓包的工具:所谓抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。作为开发者,经常想调试一下http请求发送的数据的详情,那么可以使用这2款软件。用抓包工具wireshark的人相对来说更多一些。
13. HBuilder X (HTML5的Web开发工具)
当前最快的HTML开发工具,强大的代码助手帮你快速完成开发,最全的语法库和浏览器兼容性数据让浏览器碎片化不再头痛。作为HBuilder下一代的全新编辑器,HBuilderX被定位为ide和编辑器的完美结合,除了对某种语言的语法分析、提示、转到定义、调试,同时加强了对通用文本处理能力,界面更加清爽,拥有比上一代更加有效的快捷键体系。
14. MobaXterm (远程终端控制软件,集串口,SSH远程登录和FTP传输三合一的工具)
多功能终端MobaXterm Professional Edition 是一款豪华、全功能的终端软件。MobaXterm带来了所有必要的Unix命令到Windows桌面,在开箱单便携式exe文件。MobaXterm允许您启动远程会话。远程shell,MobaXterm远比Putty好用,您可以选择创建SSH,远程登录,Rlogin,RDP,VNC,XDMCP,FTP,SFTP或串行会话。
15. Sublime Text (跨平台代码编辑器)
http://www.sublimetext.cn/
Sublime Text 是一款用于代码、标记和散文的精致文本编辑器。Sublime Text 中文网致力于为广大国内开发者提供详尽的中文文档、使用说明等,助力开发者快速掌握这个编辑器。
16.webstorm (专业的HTML编辑工具)
web开发的必备的一款开发神器,比如写js、页面、css,那么这款软件用起来非常顺手。此软件和idea出自于同一家公司,这家公司做了很多异常好用的软件,基本上你需要的各种开发相关的IDE,这家公司都生产。可以说是“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”。新版对JavaScript,TypeScript和CSS支持更好,改进了Vue.js的体验,并为Jest集成增加了新功能。
17.Xshell (功能强大的终端模拟器)
linux原创控制软件,完全免费且非常稳定的 SSH 客户端 ,支持多种远程协议,提供了很多特色与高级功能,简体中文界面也让你轻松管理远程服务器。 Xshell 的 Screen 会话不闪屏,而且可以回滚;Script 的执行顺序可以调整;可以同时发送指令到多个 session;支持布局切换等。
18. SwitchHosts (修改Hosts文件的工具)
这是用于在多个HOSTS之间进行切换。可在公用hosts文件 、当前系统hosts、本地方案和在线方案间进行切换。作为一名开发人员,经常需要修改本地host,你还是通过修改host文件来操作的么?那样太慢了,这里建议大家使用switchhosts这款软件,可以快速修改本地host,非常好用。
其他工具:
1. CodeIf(智能命名) : https://unbug.github.io/codelf
大部分开发者都或多或少遇到过变量命名的烦恼,如果命名不规范,不仅会影响开发的效率,而且对后面维护的同学来说也是一个不小的挑战,因为他要去揣摩你这个变量的含义。随着项目越来越复杂,变量和函数数量越来越多,虽然每个编程语言都有各种命名规范,但是也不能解决所有的问题。
“计算机科学里两件最难的事:缓存失效和命名。” Codelf通过搜索在线开源平台Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Project的项目源码,帮开发者从中找出已有的匹配关键字的变量名,从而帮助为变量名苦恼的开发者命名。这个搜索服务支持直接搜索中文。
同时可以在自己用的编辑器里安装插件,支持 VS Code、Atom、Sublime Text 和 Chrome。
2. DocsChina-印记中文 : https://www.docschina.org
这是一个前端中文文档合集,进入网站可以看到开发中经常使用的前端中文文档。如果你的英文实在不怎么好,还在为找中文文档而烦恼,这里将是你非常好的选择。记得放到自己的浏览器收藏夹里哦!
3. any-rule(正则表达大全): http://github.com/any86/any-rule
any-rule 维护了一个常用正则表达式合集,并且本身是一个支持 Web/VS Code/idea/Alfred Workflow 多平台的正则表达式工具。
4. tool.lu(在线工具): https://tool.lu
程序员总是有很多小工具要使用,比如图片、Base64编码、Markdown编辑器时间戳转换,进制转换等,在线运行各种语言代码。这个网站包含了太多程序员需要用到的小工具了。比如你想运行点JAVA代码,又不想麻烦的在系统中安装JAVA环境,可以使用里边的在线运行代码工具,然后选择JAVA,写点JAVA代码就可以直接运行了。
5. Baomitu(前端静态源库): https://cdn.baomitu.com
这个静态资源库是支持HTTP/2的CDN服务,有了它,如果你是自己的小型项目或者是做测试就不用下载任何的代码库,直接粘贴地址过来用就可以,因为是国内的CDN库,速度还非常的快。
6. Typora-Markdown(编写工具):https://www.typora.io
一款实用的 Markdown 编写工具,所见即所得,用Markdown编写文章是一个程序员的标准配置,也就是标配。现在有很多在线工具都支持Markdown,什么有道云笔记、雀语,、印象笔记等。这种简单的界面,沉浸式的编写,清晰的大纲,它就像一件称手的兵器,让你一旦拥有就爱不释手。
7. Snipaste (简单便捷的截图软件):https://zh.snipaste.com/download.html
一款免费的桌面截图软件,功能强大,使用方便,支持任何屏幕位置截图,支持窗口截图,支持快捷方式截图。您可通过截取贴图,使两张图合并为一张图,还能调整截图文字图像等等,是一款非常强大的贴图软件,喜欢此款贴图软件的朋友不要错过。
8. Captura (最好用的开源录屏、gif动态图片制作工具)
官网:https://captura.updatestar.com/ github:https://github.com/MathewSachin/Captura
通过这款工具可以帮助你轻松录制各种视频。支持全屏录制、区域录制两种方式,全屏录制可以录制全部的电脑屏幕,将电脑屏幕上所有的动态都录制下来,该软件还拥有视频编解码器,可以对视频进行解码,支持mp4、avi、GIF、webm等格式,可以满足一般的解码需要。还支持屏幕截图、剪贴板,简单的图像编辑等功能,是一款非常好用的屏幕录像工具。
9. 向日葵 (远程控制软件): https://sunlogin.oray.com/
向日葵远程控制是一款提供远程控制服务的软件。向日葵远程控制支持主流操作系统Windows、Linux、Mac、Android、iOS跨平台协同操作,在任何可连入互联网的地点,都可以轻松访问和控制安装了向日葵远程控制客户端的设备。整个远控过程,可通过浏览器直接进行,无需再安装软件。
10. Everything (本地文件检索工具):http://www.voidtools.com/support/everything/
由voidef="">tools 开发的一款文件搜索工具,这款软件是基于名称实时定位文件和目录。Everthing功能强大,体积小巧,第一次安装使用时会建立一个索引数据库,将所有文件和文件夹的名称导入其中,后续使用能够以极快的速度快速搜索,查找到你所需要的文件。
11. StarUML (UML画图工具)
画uml图的一款神器,类图、时序图、流程图、状态图等等,都可以用这款工具轻松应对。
12. uTools (生产力工具集):https://u.tools/
一个极简、插件化、跨平台的现代化桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。这个工具,我只能说他是一款神奇,太牛逼,这款工具中汇集了很多好用的工具,可以通过这款工具秒开电脑上的各种软件。
搜索资源网站工具:
1.Bing
Bing 国际版:https://cn.bing.com/ 感觉比某度要好用多了。
2.DuckDuckGo
DuckDuckGo:https://duckduckgo.com/ 从官网的介绍来看这个搜索引擎不收集用户信息,而且没有广告。
3.Stack Overflow
Stack Overflow:https://stackoverflow.com/ 我们如果常用 Google,很多技术问题的答案就在这个网站上,如果你无法使用 Google 可以在这个网站上直接检索就好了。
4.Gitlogs
Gitlogs:https://www.gitlogs.com/ Gitlogs 是专门针对 GitHub 项目的搜索引擎,我们通过他可以快速找到想要项目。
5.jiumo search
文档搜索引擎 jiumo search 鸠摩搜书:https://www.jiumodiary.com/ 可以用来找一些技术文档手册,很多在百度网盘里。
6.Ebooke
Ebooke:https://ebookee.org/ Ebookee 是一个基于互联网并提供免费电子图书下载的搜索引擎网站。
7.Iconfinder
图标搜索:https://www.iconfinder.com/ 用来查找 logo 图片。
8.TinEye
TinEye:https://www.tineye.com 用图片来检索图片,我们可以上传图片或输入图片的 URL 来检索。
9.SemanticScholar
SemanticScholar:https://www.semanticscholar.org/ SemanticScholar 是一个免费学术搜索引擎,其检索结果来自于期刊、学术会议资料或者是学术机构的文献。
10.LibreStock
LibreStock:https://librestock.com/ LibreStock 上可以检索一些优质的高清图片。
11.CC Search
CC Search:https://ccsearch.creativecommons.org/ CC Search 上搜索到的图片资源都是无版权的,我们可以免费的使用。
12.Pexels
Pexels:https://www.pexels.com/ 高质量的图片网站,可以免费使用。
13.Unsplash
Unsplash:https://unsplash.com/ 免费高清素材网站。
14.The App Store
The App Store:https://theappstore.org/ The App Store 是一个针对苹果手机、iPad、Mac 设备的应用搜索工具。
在线画图工具:
• 在线画图工具ProcessOn:https://www.processon.com/
• 在线画图工具draw.io:https://app.diagrams.net/
• 在线思维导图工具:http://www.mindline.cn/webapp
• PlantUML在线编辑器:http://haha98k.com/
在线开发辅助工具:
日常开发经常会用到一些辅助工具我总结为8大类,包括:编解码工具、转换工具、正则工具、编译工具、网络工具、格式化工具、可视化工具、在线生成器、以及其他工具等等。 具体列表如下:
在线编码工具:
• BASE64编解码工具:https://base64.supfree.net/
• MD5编码工具:https://www.zxgj.cn/g/md5
• AES/DES加解密:http://www.fly63.com/tool/cipher/
• JWT解码工具:http://jwt.calebb.net/
• ASCII编解码工具:https://www.matools.com/code-convert-ascii
• Unicode编解码工具:https://www.zxgj.cn/g/unicode
• UTF-8编解码工具:https://www.zxgj.cn/g/utf8
• 字符串编解码工具:https://www.zxgj.cn/g/enstring
• URL编解码工具:http://tool.chinaz.com/tools/urlencode.aspx?jdfwkey=lbixz1
在线转换工具:
•在线ASCII码对照表:http://www.fly63.com/tool/ascii/
• 通用进制转换工具:https://www.zxgj.cn/g/jinzhi
• 在线浮点数十进制转换:http://www.binaryconvert.com/
• RGB颜色转换:https://www.zxgj.cn/g/yansezhi
• 时间戳转换工具:https://www.zxgj.cn/g/unix
• 计量单位换算工具:http://www.fly63.com/tool/unitable/
• 在线JSON解析:http://www.json.cn/
• 在线JS代码格式化工具:https://prettier.io/playground/
• SQL压缩/格式化工具:https://www.zxgj.cn/g/sqlformat
• JSON和XML在线转换:https://www.zxgj.cn/g/jsonxml
• JSON/YAML在线转换:http://www.fly63.com/tool/jsonyaml/
• 人民币大小写转换工具:http://www.fly63.com/tool/renmingbi/
正则表达式工具:
• 正则表达式调试工具:https://regexr.com/
• 正则表达式可视化工具:https://jex.im/regulex/
网络工具:
• IP地址归属地查询:https://www.ip138.com/
• IP地址查询:https://www.ipip.net/ip.html
• HTTP在线接口测试工具:http://www.fly63.com/php/http/
在线编译运行工具:
• C#在线编译运行:https://rextester.com/
• C/C++在线编译调试:https://www.onlinegdb.com/
• 在线编译工具套装:https://c.runoob.com/
可视化/格式化工具:
• 在线前端编辑器: https://codepen.io/
• 在线数据可视化:https://flourish.studio/
• 在线JSON解析:http://www.json.cn/
• 在线CSS代码可视化工具:https://enjoycss.com/
• XML格式化工具:https://www.zxgj.cn/g/xmlformat
• 在线JS代码格式化工具:https://prettier.io/playground/
• SQL压缩/格式化工具:https://www.zxgj.cn/g/sqlformat
• JSON和XML在线转换:https://www.zxgj.cn/g/jsonxml
• JSON/YAML在线转换:http://www.fly63.com/tool/jsonyaml/
在线生成器:
UUID在线生成器:https://www.zxgj.cn/g/uuid随机数生成器:https://www.zxgj.cn/g/suijishu其他常用工具:
在线Nginx配置工具:https://nginxconfig.io/在线对比工具:http://www.fly63.com/tool/textdiff/在线Chrome浏览器插件:https://www.crx4chrome.com/在线接口文档管理工具:http://www.docway.net/在线素材工具:
如果你写文章,或者做视频,那就一定少不了要找素材,包括各种图片、背景、emoji表情、表情包、壁纸、视频、gif图等等。
• 免费透明背景图片素材:http://pngimg.com/
• Emoji表情搜索:https://emoji.svend.cc/
• Emoji表情包下载:https://emojiisland.com/
• open source icons:https://feathericons.com/
• 表情包在线网站:https://fabiaoqing.com/
• 免费PNG图片库:https://pluspng.com/
• ICON图标在线下载:https://www.iconfinder.com/
• 极简壁纸:https://bz.zzzmh.cn/
• Wallpaper Abyss壁纸:https://wall.alphacoders.com
• Pixabay图片素材库:https://pixabay.com/zh/
• Unsplash图片素材库:https://unsplash.com
• Pexels图片素材库:http://www.pexels.com
• NASA图片视频素材库:https://images.nasa.gov
设计制作类工具:
对于那些文章创作者和视频创作者而言,设计封面,做海报,设计LOGO,图片美化等等基本也是刚需。
这样大概率日常会用到一些简易好上手的在线设计制作类工具,比如在线P图、音/视频轻量化剪辑、logo制作、海报设计制作、图片美化、在线图片转换或生成等等。
• 在线PS:https://www.uupoop.com/
• 在线音频剪辑:https://www.weixinsyt.com/
• 在线视频剪辑:https://www.kapwing.com/
• 免费logo在线制作:http://www.uugai.com/
• 艺术字体在线生成:https://www.qt86.com/
• 在线表格转换工具: https://tableconvert.com/
• 在线海报设计工具: https://www.designcap.com/
• 图片智能放大工具:https://bigjpg.com/
• 二维码美化器:https://mh.cli.im/
• 在线代码截图工具:https://carbon.now.sh/
• 在线抠图工具:https://www.remove.bg/zh
• ICO图标在线生成:http://www.fly63.com/php/ico/
• SVG转PNG工具:http://www.fly63.com/tool/svg2img/
• 视频转GIF工具:http://www.fly63.com/tool/giftxt/
• 二维码在线生成器:http://www.fly63.com/tool/ewm/
• 二维码在线解码:http://www.fly63.com/php/decoder/
写辅助工具:
写文章的过程中经常会用到和写作相关的辅助工具,比方说:字数统计工具、Markdown格式的文章排版工具、图床网站、代码截图工具等等,所以下面这些在线工具就能很好地满足我的需求。
• 在线字数统计:https://www.eteste.com/
• mdnice markdown排版工具:https://mdnice.com/
• md2all markdown排版工具:http://md.aclickall.com/
• 在线图床神器:https://picx.xpoet.cn/
• 在线免费图床:https://sm.ms/
• 图壳图床:https://imgkr.com/
• 在线代码截图工具:https://carbon.now.sh/
• 在线短链接工具:https://urlify.cn/
• 在线文本替换:http://www.fly63.com/tool/textreplace/
在线办公工具:
部分在线工具主要用来处理一些和文档以及文稿相关的事情,经常用到的比如:在线的全套pdf处理和转换工具、各种各样多媒体文件间的相互转换工具、在线识别工具、在线压缩工具等等。
• pdf在线处理工具1:https://smallpdf.com/cn/pdf-tools
• pdf在线处理工具2:https://tools.pdf24.org/zh/
• pdf转word在线工具:https://www.pdftoword.com/
• 在线多媒体转换器合集:https://cn.office-converter.com/
• 在线文字识别工具:https://ocr.wdku.net/
• 在线文件压缩工具:https://docsmall.com/
文档笔记工具:
好记性不如烂笔头,作为一个学习者,我觉得记笔记是必不可少的步骤。当然现在基本都做电子笔记和电子文档比较多。 现如今各式各样优秀的文档工具和笔记软件鳞次栉比,好用的也有很多,整理成如下列表,这东西各有长处,使用哪个最合意还得看个人习惯和需求了。
• 印象笔记:https://www.yinxiang.com/
• 有道笔记:https://note.youdao.com/
• OneNote:https://www.onenote.com/
• 幕布:https://mubu.com/
• 为知笔记:https://www.wiz.cn/
• 石墨文档:https://shimo.im/
• Simplenote:https://simplenote.com/
• 语雀:https://www.yuque.com/
编程学习网:
• 哔哩哔哩:https://www.bilibili.com/
• C语言网:https://www.dotcpp.com/
• cppreference:http://zh.cppreference.com/
• 中国大学MOOC:https://www.icourse163.org/
• 牛客网:www.nowcoder.com
• 网易公开课:open.163.com
• CodeGym:https://codegym.cc/
• BeginnersBook:https://beginnersbook.com/
• JavaSED:http://www.javased.com/
• codecademy:https://www.codecademy.com/
• Coursera:https://www.coursera.org/
• StackOverFlow:https://stackoverflow.com/
• LeetCode:https://leetcode-cn.com/
• LintCode:https://www.lintcode.com/
在线教程文档:
这部分主要集中了在做开发过程中随手参考所要用到的几乎所有在线教程和官方文档,有中文版文档的基本都优先列出来了,但更多时候是英文的官方文档。
• Git中文教程:https://git-scm.com/book/zh/v2
• SVN中文手册:http://svnbook.red-bean.com/nightly/zh/index.html
• jQuery API中文文档:https://jquery.cuishifeng.cn/
• Nginx中文文档:https://www.nginx.cn/doc/index.html
• Kafka中文文档:https://kafka.apachecn.org/
• Mybatis中文文档:https://mybatis.org/mybatis-3/zh/index.html
• 微信小程序官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/
• Nodejs中文教程文档:http://nodejs.cn/learn
• Apache Web Server文档:http://httpd.apache.org/docs/
• Spring文档中文版:https://www.springcloud.cc/spring-reference.html
• Golang标准库文档中文版:https://studygolang.com/pkgdoc
• Java 8官方文档:https://docs.oracle.com/javase/8/docs/api/index.html
• Maven官方文档:http://maven.apache.org/guides/
• Tomcat 8官方文档:http://tomcat.apache.org/tomcat-8.0-doc/index.html
• Spring Boot官方文档:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/
• RabbitMQ官方文档:https://www.rabbitmq.com/documentation.html
• RocketMQ官方文档:http://rocketmq.apache.org/docs/quick-start/
• Dubbo中文文档:https://dubbo.apache.org/zh/docs/
• Netty官方文档:https://netty.io/wiki/index.html
• Elasticsearch官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
• Spring Cloud官方文档:https://spring.io/projects/spring-cloud
• Docker官方文档:https://docs.docker.com/get-started/
• kubernetes中文文档:https://kubernetes.io/zh/docs/home/
• thymeleaf官方文档:https://www.thymeleaf.org/documentation.html
• Vue.js中文文档:https://cn.vuejs.org/v2/guide/
• React.js官方文档:https://reactjs.org/docs/getting-started.html
• Jenkins中文文档:https://www.jenkins.io/zh/doc/
华为云平台:
高效易用的低代码aPaaS平台-应用魔方AppCube:https://www.huaweicloud.com/product/appcube.html集华为研发实践、前沿研发理念、先进研发工具为一体的软件开发平台-软件开发平台 DevCloud:https://www.huaweicloud.com/devcloud/以上内容分享自华为云社区《吐血整理:程序员都在用什么工具?》,作者: 考过IE励志当攻城狮 ,部分内容整理自互联网~
如何去学习php加数据库?
不积跬步无以至千里,别想着急功近利就能学会,结果只会在开发中遇到问题都知道怎么解决。
学习php和mysql百度一下视频、电子书、开源项目,框架都很多了。随便找个教程坚持下去也能学会,但总得来说有以下学习过程吧。
1.学习php的基础知识,变量,字符串操作,数组操作,对象操作,文件操作,session和cookie操作,参数接收$_GET,$_POST,$_REQUEST,$_SERVER请求信息,数据库操作pdo,搞清楚客户端一个请求到服务器返回数据的过程等,就这些简单知识点你就可以搞简单网站一些接口了
2.当前面的都懂了,就可以学习高级点,如:异常处理,反射Reflection,GD库操作(生成验证码,图片水印旋转裁剪等图像操作),phar打包,socket通信,多进程pcntl和posix扩展对进程操作,进程间通信(共享内存sysvshm,shmop,消息队列sysvmsg,信号量sysvsem,信号,socket),如何实现mysql进程池,还有很重要的一个libevent,一个高性能事件通知网络库,很容易实现epoll异步非阻塞模型,可以实现高性能服务器
3.当上面的都了解了,就应该去了解php底层。了解phh底层sapi,zend引擎执行,如何生成opcache,zend虚拟机,gc机制等
而mysql的话首先了解sql语句增删改查,加上各种函数的sql怎么写,各种数据类型tinyint,smallint,int,bigint,float,varcar,char,datetime,time,timestamp,decimal等类型的区别长度等。
然后了解myisam,innodb引擎区别,innodb事务隔离级别之类,mysql索引优化,分库分表,mysql主从复制,mysql集群等。
然后仅仅懂php+mysql是不够的,基本上项目后台是自己搞,必须了解前端技术js+html+css,了解jquery、vue双向绑定等前端框架,也可以了解前端ui框架bootstrap,Element-ui等。还有项目一般部署在linux,起码要了解linux的基础命令,如:rm -rf /而网站发展起来了,你肯定要懂缓存memcache、redis,了解redis的各种类型string,hash,list,set,zset,HyperLogLog,geohash等,发布订阅,持久化AOF和RDB, 缓存穿透缓存雪崩等高并发时缓存可能出现的问题。然后项目再大点,就要懂LVS,HAProxy,nginx等负载均衡,然后redis要分布式部署,怎样通过keepalived+Twemproxy实现redis高可用,如何实现高性能,高可用,高并发,服务器多机房容灾,隔离,限流,降级等架构知识
好吧,说了一大堆,我也不是很懂...
linux常用命令有哪些?
linux常用命令有哪些?
1. 路径和显示的命令:
cd
pwd
ls
ls -l 可以缩写为ll,该命令是用来查看指定目录下对象的详细属性的。
2. 文件、文件夹相关的操作命令:
·mkdir 创建文件夹。
·rmdir 删除空的文件夹的,基本被淘汰。
·rm
·touch 创建一个空的文件。
基本格式:touch 文件名
示例: touch test.txt
表示在当前目录下创建一个空文件,叫test.txt
touch /opt/test.txt
表示在/opt目录下创建一个空文件,叫test.txt
3·vim 可以缩写为vi,该命令是用来创建或者编辑一个文件的。
基本格式:vi 文件名
注意事项:
·vi只能针对文件来进行操作,如果vi的对象是一个已经存在的文件夹,则最终无法保存所编辑的内容。
·vi中鼠标是没有任何用的,光标的移动是通过上下左右方向键,回车键和PageDown、PageUp等来实现的。
3. 常用的vi子命令有:
:q 退出,适用于没有对文档进行任何修改的情况下。
:q! 强制退出不保存。
:wq 退出并且保存。
:wq!文件名 强制退出,并且将当前内容另存到指定的文件中。
dd 删除光标所在的整行
x 删除光标所在的字符
gg 移动光标到整个文档的最后一行
:N N是正整数,表示将光标移动到指定的行。
4.·编辑模式:在该模式下,所有键盘的输入都是纯粹的字符串,相当于在记事本中输入一样。
5.模式的切换和对应的特征:
命令模式下, 按i或者a或者s都可以切换到编辑模式。
一般来说,编辑模式就是vi界面的左下角出现“--insert--”这样的提示串。
编辑模式下,按ESC键就可以切换到命令模式。
6. 常见问题:linux下文件名和文件夹名能否重复?后缀名是否有用?
·不论是windows还是linux,同一个目录下,是不允许出现同名的对象。
·在linux下,文件的后缀名是没有任何意义的,一般来说,后缀名只是用来起到标识作用,当然,后缀名除了标识作用,一定程度上也考虑了和windows的兼容性。
·cp 用来实现复制粘贴操作。
基本语法格式:
格式1:
cp 源对象 目标对象
表示将源对象复制粘贴为目标对象。
示例:
cp a.txt d.txt
表示将当前目录下的a.txt复制到当前目录下,重命名为d.txt。
·mv 该命令是用来实现剪切粘贴的操作。
该命令的语法格式和cp命令基本一致。
·ln 该命令是用来创建链接对象的。
在linux中,链接分为硬链接和软链接。
默认创建的是硬链接。
-s 该属性表示创建的是软链接。
·文件内容的查看:
常用的命令有:
cat
more
less
head
Tail
常见的退出方式:
·CTRL+C 强制中止当前正在执行的命令。
·ESC
·Q
·QUIT
·EXIT
对象的查找:
find:
基本格式:
find 查找范围 参数 参数值
示例:
find / -name a.txt
表示在根目录下查找名字叫a.txt的对象。
文本内容、字符串的查找:
grep 该命令是支持正则表达式方式,在指定对象中查找符合条件的字符串或者行的。
基本格式:
grep [参数] [正则表达式] 对象
示例:
grep "a" a.txt
表示输出a.txt中所有包含字符a的行。
·ls 查看命令
基本格式:ls [对象]
表示查看对象或者对象下的所有对象的信息。
重要属性:
-l
查看详细属性
权限相关的命令:
在linux系统中,存在用户和用户组的概念。
·useradd 用来添加用户
示例:useradd test1
表示添加一个新的用户,叫test1.
·passwd 用来修改指定用户的密码
示例:passwd test1
通过交互式的方式来修改test1的密码
PS:如果passwd后不跟用户名,则表示修改的是当前登录的用户的密码。
在linux中,用户配置信息都是记录在系统文件/etc/passwd中的。
·userdel 用来删除用户
建议使用属性-r。
·groupadd 添加用户组
·groupdel 删除用户组
权限:
在linux中,用户对于对象的权限有三种:分别为
r 可读
w 可写
x 可执行
chmod 直接修改对象的权限,即直接修改这9个字符。
基本格式:
chmod 权限表达式 对象名 [-R]
·权限表达式,在linux中,权限的表示方式有两种:
·字符:
rwx 可读可写可执行
u 表示所有者
g 表示所属组
o 表示其它人
= 表示赋值
+ 表示加权限
表示减少权限。
例子:chmod u=rw a.txt
表示将a.txt的所有者的权限修改为可读可写。
其他操作:
·history 显示历史输入命令
!N N表示历史命令的编号
该命令表示执行历史命令列表中的第N条命令。
·clear 清理屏幕的输出。
·TAB键 是用来补全路径或者文件名的。
从哪里开始学习比较好?
欢迎关注我,一个程序员老司机,和你分享编程、运营、需求等等经验和趣事。
前些天我写了一本关于PHP的书《和我一起轻松学习PHP》,很多朋友通过书找到了我,然后和我交流了很多,问得最多的问题还是:我应该怎么学习PHP,下面我就分享一些自己的想法给你,希望能够帮助到你。
迅速搭建开发环境快速将开发环境搭建好,对于PHP小白,可以直接采用一键安装包XAMPP来完成关于PHP的开发环境,然后下载一个phpstorm编辑器,动手开始写第一个DEMO。
一套标准的编码规范对于小白来说,编码规范很重要,我们一开始就参考PSR编码规范来写PHP代码的话,时间长了,自己的代码就变得非常漂亮,并且利于之后的维护。
最好的书-参考手册下载一本PHP参考手册,将常用的PHP函数库深入练习一遍,这样不仅仅能够让自己熟悉PHP的基础语法知识,还能够让自己对每个函数的应用有一个初步的概念。
看一些SQL命令对于PHP的项目来说,大多时候是和数据库打交道,所以会一些常用的SQL命令是很有必要的。
看一些面向对象的知识现在都是面向对象编程,所以看一些面向对象的理论知识很有必要,比如怎么从需求里面抽象出类、属性、方法、静态方法等等。
规划一个项目学以致用,我们学习PHP的目的就是未来实现项目,所以看完了上面的知识之后,是时候为自己规划一个项目并试着实现。
什么是PHP语言?
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。 PHP 最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要且增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mSQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。 PHP的特性包括以下几点: 开放的源代码:所有的PHP源代码事实上都可以得到。 PHP是免费的。 基于服务器端:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。 嵌入HTML:因为PHP可以嵌入HTML语言,所以学习起来并不困难。 简单的语言:PHP坚持脚本语言为主,与Java以C++不同。 效率高:PHP消耗相当少的系统资源。 图像处理:用PHP动态创建图像 PHP 3与PHP 4的比较 PHP3跟Apache服务器紧密结合的特性;加上它不断的更新及加入新的功能;而且几乎支持所有主流与非主流数据库;再以它能高速的执行效率,使得PHP在1999年中的使用站点已经超过了150000万。加上它的源代码完全公开,在 Open Source意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新的活力,使得PHP无论在UNIX、LINUX或是Windows的平台上都可以有更多新的功能。它提供丰富的函数,使得在程序设计方面有着更好的支持。 PHP4.0整个脚本程序的核心大幅更动,让程序的执行速度,满足更快的要求。在最佳化之后的效率,已较传统CGI或者ASP等程序有更好的表现。而且还有更强的新功能、更丰富的函数库。无论您接不接受,PHP 都将在 Web CGI 的领域上,掀起巅覆性的革命。对于一位专业的Web Master 而言,它将也是必修课程之一。 PHP 4.0是更有效的,更可靠的动态Web页开发工具,在大多数情况运行比 PHP 3.0要快,其脚本描述更强大并且更复杂, 最显着的特征是速率比的增加。PHP4.0这些优异的性能是PHP 脚本引擎重新设计产生的结果:引擎由 AndiGutmans 和 Zeev Suraski从底层全面重写。PHP4.0 脚本引擎 --Zend 引擎,使用了一种更有效的编译--执行方式, 而不是PHP 3.0 采用的执行 --当解析时模型。 PHP4在3.0版的基础上增加或增强了许多有用的特征,主要如下: (1)别名:在PHP4中,可以利用引用为变量赋值,这给编程带来了很大的灵活性。 (2)扩充了API 模块:PHP 4.0 为扩展的 API 模块的提供了扩展PHP接口模块, 它比旧的 API 版本显着地快。 PHP 模块已有的及最常用的接口多数被转换到使用这个扩展的接口。 (3)自动资源释放:PHP4增加了引用计数功能,这种新技术的引入使PHP4具有了自动内存管理功能,减轻了开发人员的负担。 (4)布尔类型:PHP 4.0 支持布尔类型。 (5)进程生成:在 UNIX 环境下的 PHP 4.0 提供了一个很智能和通用的生成进程, 使用了一种名为基于automake/libtool的系统生成技术。 (6)COM/DCOM 支持:PHP 4.0 提供 COM/DCOM 支持 ( 仅用于Windows 环境 ) 可以无缝地存取和访问 COM 对象。 (7)与PHP 3.0 兼容性很好:PHP 4.0 是与 PHP 3.0 代码向后兼容性接近100% 。由于 PHP 4 的改进的体系结构,两者有一些细微的差别,但是大多数人将可能永远不可能遇上这种情况。 PHP介绍 (8)配置:PHP4重新设计和增强了PHP。ini文件,这使得用PHP。ini来配置PHP显得极为容易,这个文件可以在运行时被Apache(unix系统)或由Windows 注册(Windows 环境)。 (9)加密支持:PHP4实现了完整的加密, 这些加密功能是一个完整的mycrypt库,并且 PHP 4.0 支持哈希函数。Blowfish,TripleDES,MD5,并且SHA1 也是可使用的一些加密算法。 (10)类型检查:PHP 4.0 支持同一操作符用于评类型检查:===( 3 等号运算符 ), 为在两个值和其类型之间作检查。例如, 3 ===3 将视为假 ( 类型是不同的 ), 而 3 ==3 ( 相等判断 ) 将视为真。 (11)FTP 支持:PHP 4.0 支持 FTP 。通常, 你会为通过一个调制解调器连接下载一个大文件提供一个接口。然而, 如果你确实有需要,可以使用PHP 。 (12)PHP4新增函数或功能增强函数:PHP 4.0 新增了许多函数,同时也将许多现有的函数功能进行了增强,以下是一些例子。 array_count_values() eval() foreach() nclude() ob_end_clean() ob_end_flush() ob_get_contents() ob_start() strip_tags() unset() (13)here打印:PHP 4.0 的Here打印是与Perl类似的, 尽管完全不相同。Here是打印大容量文章的一个有用的方法,例如在 HTML文件中,不会漏掉任何一个字符,例如目录标记。 (14)HTTP Session fallback 系统:为 HTTP Session管理的一个 fallback 系统在 PHP 4.0被实现 。缺省情况下,Session标识符由cookies存储。如果没有cookies支持或一项cookies任务失败,Session标识符自动被创建并在 URL 的查询字符串中被携带。 (15)ISAPI 支持:PHP 4.0 能作为一个个性化的 ISAPI 模块作为 IIS插件 。这比 PHP 3.0 更有效, 它作为一个外部的程序来运行。 (16)内存:PHP 4.0 能更有效的使用内存, 导致较少的内存占用消耗,这主要归功于引用计数技术的实现。 (17)其他类成员函数:在 PHP 4.0 你能在成员函数本身的作用域或全局范围内调用其他类的成员函数。例如,你能用一个子函数覆盖父函数,并在子函数中调用父函数。 (18)多维数组:在 PHP 4.0 ,利用GET,POST, Cookies的进行的数据传输支持多维数组。 (19)个性化的 HTTP Session支持:HTTP Session处理, 包括 fallback 系统管理,在 PHP 4.0被它的新库函数实现 。在版本 3.0 中处理Session要求使用 PHPLIB 和第三方的库函数, 它比把Session直接地由 PHP 支持慢了许多。 (20)个性化的 Java 支持:PHP 4.0 支持和java的交互。这种个性化的Java 支持为PHP 在 Java 对象上创建和使用方法提供一个简单并且有效的工具。 21)对象和数嵌套组:PHP 4.0 实现了功能更加强大的对象, 移去了 PHP 3.0存在的种种句法限制。对象能在数组以内被嵌套并且反过来也如此, 可以根据你的需要实现嵌套。 (22)面向对象的编程:PHP 4.0 为面向对象的编程和构造类及对象提供扩展的功能和新特征。PHP4实现了对象重载,引用技术等新技术。 (23)对象重载支持:对象重载语法允许第三方的基于面向对象的类库使用 PHP4 的面向对象的特征存取他们自身的功能。使用这个特征的一个 COM 模块已经被实现了。 (24)输出缓冲支持:PHP 提供了一个输出缓冲函数集合。输出缓冲支持允许你写包裹函数功能压缩缓冲区。在 PHP4 的输出缓冲支持允许 HTML 头信息存放, 无论 HTML的正文是否输出。头信息( (header(), content type, and cookies ) 不采用缓冲 。 (25)增加了PCRE 库:PHP 4.0 包括一个 Perl 兼容的正则表达式 (PCRE ) 库, 和正常regex库一起与 PHP 绑定。split 和replace PCRE 功能被支持。PCRE 和 Perl 正规表达式之间有一些细微差别。 (26)PHP.ini 文件:PHP.ini文件在 PHP4.0 被重新设计, 使用的 PHP 的配置PHP.ini是更容易并且更有效的。全部文件能被Apache 在运行时间操作 ( 在 Apache环境 下 ) 或由 Windows 注册表 ( 在 Windows 下面 ) 。被加入PHP.ini文件的配置指令自动地在所有相关的模块中被支持。 (27)引用计数:PHP 4.0 为系统中的每个数值提供了引用计数, 包括资源。一旦一个资源不再被任何变量引用,它自动地被释放以节省内存资源。利用这个特征的最明显的例子一个内置SQL查询的循环语句。在PHP 3.0中 ,每次递归另外的 SQL 结果集合重复申请内存,直到脚本执行完毕,这些结果集合占用的内存才被释放。 (28)支持引用:通过引用可以改变一个变量的值。 (29)函数的运行时绑定:PHP 4.0 的运行时间绑定功能允许你在他们被声明以前调用, 无论声明是否在代码以后或是在运行时间。 (30)类的运行时信息:PHP 4.0 支持在运行时刻存取下列类信息:一个对象的类名,一个对象的父类的类名字,以及对象函数所在的名字。 (31)服务器抽象层:为支持WEB服务器提供了增强型 SAPI ( 服务器 API ) 接口,是 PHP 4。0 不可分的一部分。这个服务器抽象层,提供了通用的WEB服务器接口支持,支持多线程WEB服务器,为大多数的WEB服务器提供透明的支持, 这些服务器包括 Apache ,IIS ( ISAPI ), 以及 AOL 服务器。 --------------------------------------------------------------------------------------------------------------------------PHP5新特性: 更加面向对象化的PHP PHP 5 引入了新的对象模型(Object Model)。完全重写了 PHP 处理对象的方式,允许更佳性能和更多特性。 PHP处理对象部分的内核完全重新开发过,提供更多功能的同时也提高了性能。在以前版本的php中,处理对象和处理基本类型(数字,字符串)的方式是一样的。这种方式的缺陷是:当将对象赋值给一个变量时,或者通过参数传递对象时,对象将被完全拷贝一份。在新的版本里,上述操作将传递引用(可以把引用理解成对象的标识符),而非值。