PHP网站开发如何选择开发方式?
我想你说的开发方式应该指的我们常说的软件开发模式,这些模式是否在php中适用,我想告诉你,答案是肯给的,是适用的。
下面具体说下这些常见的开发方式。
瀑布方式:
就是按照从上到下,从需求分析,软件设计,软件编码,软件测试,维护等严格顺序执行,这样的好处是各个步骤明确,但是结果呈现出来的慢
迭代模式:
就是版本模式,先开发一个基础的框架,然后每个版本加入新的完善的功能更新,这样的好处是快速见到结果,快速占领市场,缺点是给人感觉产品粗糙,缺少完善的逻辑
增量模型:
和迭代模型很像,这个是按模块开发,比如我先只开发个个人系统功能,只是登录,注册,修改个人信息,然后再开发比如产品系统,这样的好处是客户可以立即见到产品,使用到产品,缺点就是缺少对产品宏观的把控
敏捷开发:
这种模式就是以人为本,把大的项目分解成若干个小项目,每个项目都是瀑布模型,因为划分分解以人为本,所以比较灵活
除了这些,我们经常看到招聘的时候,要求会tdd开发,ddd开发,那么他们是什么呢
TDD:
测试驱动开发,就是先写测试用例,然后开发业务逻辑,我们的接口开发的时候,基本采用这种模式,先让接口返回固定的数据,然后针对业务逻辑返回具体数据,因为每一步都是测试过的,因此代码可靠性更高,每次增加新的逻辑,只要跑一遍测试用例,就可以基本保证软件没有大的bug
DDD:
领域驱动开发,他更专注业务逻辑,他是基于测试驱动开发的,只不过它强调整体服务,比如提供一个个人中心服务,它是提供的一个服务,满足业务逻辑需求,可以方便提供给其它模块使用
怎么用html,php和数据库建一个网站。谢谢?
新设计一个PHP网站牵涉到很多内容,CSS,JS,HTML,php,mysql数据库等等,并且要考虑网站安全比如数据库防注入等。
新手如果只是做网站的话建议采用现成比较成熟的CMS程序或者BLOG程序,比如DEDECMS,Z-Blog等。
如果你是为了学习PHP技术,建议从PHP框架thinkphp学起,也可以从现成比较成熟的CMS程序或者BLOG程序的模板修改或二次开发修改学起。多看多改,你就会发现不管哪个PHP系统基本上框架都是一个理。
用PHP编写支持高并发的网站,需要做什么处理?
PHP语言开发高并发的网站,需要加缓存,复杂逻辑走消息队列异步处理,mysql查询必须走索引,还搞不定就加机器分流,mysql配置升高并且一主多从,使用codis集群,增加消息队列的消费者,如果还搞不定就随机拒绝请求,当然这是最后的退路。
缓存缓存是避免业务查询过多的请求mysql,导致业务不可用,根据场景来判断是否需要使用codis集群,如果并发量没有达到某个级别,16G的redis也可以,但是要避免redis在高并发下容易发生的缓存穿透,尽量做成高可用,并保证缓存实现的命中率。
消息队列这也是高并发情境下的杀手锏,削峰填谷,将耗时的业务逻辑直接以队列的形式异步慢慢处理,防止请求过度积压,导致的服务器不可用。
mysql优化有些场景下必须查询mysql的,也应该走索引,避免多表联合查询,甚至mysql的事务隔离级别都尽量的降低,或者直接去掉事务,采用最终一致性的补偿机制。升级mysql的配置,核心数和内存的提升对查询速度的优化是显而易见的,最好能一步到位的走一主多从,查询路由到从服务器上。
随机拒绝请求这不是开玩笑,我们必须保证服务器可用,宁愿拒绝掉一些请求,也不能让服务器大量请求阻塞,最终导致大家都用不了。
php语言网站如何加强安全性?
PHP是一种非常流行之网站脚本语言,但是它本身所固有之安全性是非常薄弱。本文讲述了PHP增强计划(Hardened-PHP project)和新之Suhosi计划,Suhosin提供了增强之PHP之安全配置。
PHP是带有争论地但又是最流行之一种网站脚本语言。它之所以流行,是因为它低廉之价格,然而,这低廉之价格导致用PHP写之网站应用程序越来越多 之同时也越来越多之展现出PHP本身在安全上之脆弱,这种安全特性显示出PHP是极不可靠,不过同时对这个脚本语言本身而言它又是非常灵活之,使用它就能 很容易之实现代码,不过这些代码都是臃肿之且不安全之,虽然是这样它还是一直都拥有很多之使用者。你可以根据实际情况来假设,一次又一次,各种应用软件都 体现了这种脆弱性:容易受到SQL注入、跨站脚本、任意执行指令等等之攻击。
因为象safe_mode和open_basedir这样内置之PHP安全措施将被忽略,PHP增强计划创建之PHP更具有安全性,同时也对PHP 进行校验检查。最初,这些是由增强之PHP补丁完成之,这些补丁需要修补并重新编译PHP自身。最近,PHP增强计划发布了一个名为Suhosin之新工 程。
Sohosin包括有两部分:第一部分是PHP之补丁,这个补丁强化了Zend引擎自身,以免可能产生缓冲溢出,也可以防止相关之弱点。第二部分是 Suhosin之扩展,这是一个PHP之独立使用模块。这两部分可以一起工作,或者是扩展部分单独工作。
开发人员不希望为了达到安全性而总去维护他们自己之PHP安装设置和他们当然更喜欢直接使用销售商提供之Linux分布系统上PHP,使用扩展模块 能提供更多PHP本身所不能具有之安全特点。
扩展模块很容易安装;它也能通过PECL安装,或者是下载后通过编译安装:
$ tar xvzf suhosin-0.9.17
$ cd suhosin-0.9.17
$ phpize
$ ./configure
$ make
$ sudo make install
为了使用suhosin,还需要增加/etc/php.ini,如下所示:
extension=suhosin.so
对于大部分人来说默认之配置选项已经足够了。为了加强设置,可以在/etc/php.ini中增加相应之值。网站中详细地介绍了有关之各种配置选 项,这些说明可以帮助你进行初始化配置。
使用Suhosin,你可以得到一些错误日志,你能把这些日志放到系统日志中,也可以同时写到其他任意之日志文件中去;它还可以为每一个虚拟主机创 建黑名单和白名单;可以过滤GET和POST请求、文件上载和cookie。你还能传送加密之会话和cookie,可以设置不能传送之存储上线等等。它不 像原始之PHP强化补丁,Suhosin是可以被像Zend Optimizer这样之第三方扩展软件所兼容之。
下面是我写的一个操作方法:
wget -c http://soft.vpser.net/web/suhosin/suhosin-patch-5.2.10-0.9.7.patch.gz
gzip -d ./suhosin-patch-5.2.10-0.9.7.patch.gz
cd php-5.2.10
patch -p 1 -i ../suhosin-patch-5.2.10-0.9.7.patch
编译的时候
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-discard-path --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --with-mime-magic --enable-suhosin
把suhosin编译进去就好了
用半年的时间来开发一个新网站,应该选PHP还是Python?
首先,先自动屏蔽题主的时间(半年。。。),然后回答楼主的问题,如果必须二选一,那么我建议选择PHP语言!再说这个时间的问题,半年也就是6个月,如果你需要6个月来开发一个网站,那是不应该的。
开发新网站,用PHP还是用Python呢?用PHP!
虽然大多数人都拿“PHP是世界上最好的编程语言”来戏谑PHP这门语言,但不可否认的是PHP在网站web开发中的占比依旧是最大。大到什么程度呢?
W3Techs是一个专门调查统计web技术的网站,打开W3Techs的官网(www.w3techs.com)可以看到截至2020年5月全球web开发服务端语言占比最新的统计:
其中PHP已79.0%的占比遥遥领先!哪里还有什么python的影子呢?
我一个从事Java研发的都没说话好不好?
那些你知道的用PHP开发的网站一个大型的应用网站往往不止一门服务端语言,各种语言混合交错,配合使用是很正常的事情。这里简单列举几个曾经或现在依旧在使用PHP语言的网站(或公司):
FaceBook新浪微博微信公众号百度淘宝唯品会哔哩哔哩作业帮无数中、小、微公司(例如:我司)。。。就说这些够不够?够不够说服你使用PHP来开发网站?
PHP开发网站就一个字:快!先不要考虑性能的事情,牛逼的程序员自带优越的性能!而不用去关心使用的是什么语言~
那些你知道的用python开发的网站python很厉害,作为脚本语言,应该是运维同学的最爱,或者爬虫(python大神别喷我)。这里简单说一下我知道的用python开发的网站:
知乎豆瓣谷歌的Gmail谷歌的GMaps欢迎大家继续补充!
6个月开发一个网站?不能时间这么长的,有几个缺点:
研发成本高;时间长意味着功能多,功能多意味着复杂度高,容易难产;跟不上市场的节奏;应该要做好功能规划,先上一个基础版的网站,拥有最核心的功能即可,然后逐步迭代,同时根据用户的使用情况、使用反馈等来不断优化网站体验方为上策。
万一第一版上去就死了呢?是不是可以将成本降到最低,你要是研发半年才开放给用户,那用户要是不买账,你的投入成本就太大了。
以上抛砖引玉,欢迎大家拍砖交流~
觉得有收获的,欢迎点赞、关注!