因为某些原因,不能用C#开发了,只有改为PHP,硬着头皮上了。研究了两天,感觉,C#就像是在后台“管理”静态HTML,PHP就像是在页面输出前“拼”出HTML。当初因为C#比VB要简结明了,所以才学习的,现在学PHP似乎也有这感觉,拼来拼去的 一个网页需要编的代码量很少。因为刚转过来,有些C#习惯还改不了,也不知道应该怎么改,特此向大家求助。1 . 数据库连接中,C#有using块可以保证资源的释放,PHP用什么来实现这功能?2 . PHP中是否有像C#一样的 try/catch 错误处理机制?3 . PHP中对数据库 存储过程 的操作如何?网上找的说的不够深入,谁能给我一个详细点的示例4 . C#中不推荐使用 Response.Write ,但PHP却通篇 echo/printf,效率会不会有影响?或者说PHP的机制是否推荐用 echo?5 . 对数据库的多行读取,C#中有 DataSource/DataTable 等,PHP只能 foreach 吗?貌似不太方便6 . C#有 Web.conf 配置文件,可以保存重要的信息或设置,我却没找到PHP的配置文件,是否不需要?7 . 对数据库的帐号密码,大家一般是怎么 保存的?看到过 有些示例写在一个全局 Class 里,但好像完全没有作什么安全设置,会不会很不安全?8 . PHP中有没有像C#一样的 StringBuilder ?暂时就这么多,谢谢大家。

解决方案 »

  1.   

    php的函数很多,功能很强大的,字符处理有很多好用的函数。
    php是弱类型的,内存不用考虑很多。
    数据库账号密码以变量的形式保存在一个php文件里就行了,别人是访问不到的。
    .net对很多东西做了封装,而php是完全自己实现,
    .net像黑盒操作,而php像是白盒操作。php语言熟悉了,如果想开发快速,可以了解一下框架,
    比如CodeIgniter,小的MVC框架,里面封装了很多库,
    挺好用的,可以试试看。这样开发迅速,并且容易维护,逻辑和表现分离。
      

  2.   


    1 . 数据库连接中,C#有using块可以保证资源的释放,PHP用什么来实现这功能?//PHP连接各种数据库都会有相应的函数连接也有相应的函数释放。比如MYSQL,连接mysql_connect();释放mysql_close();2 . PHP中是否有像C#一样的 try/catch 错误处理机制?//php同样有3 . PHP中对数据库 存储过程 的操作如何?网上找的说的不够深入,谁能给我一个详细点的示例 //PHP对数据库的操作使用call函数,然后用mysql_query执行。4 . C#中不推荐使用 Response.Write ,但PHP却通篇 echo/printf,效率会不会有影响?或者说PHP的机制是否推荐用 echo?不会影响,你可以用摸板技术。比如samrty5 . 对数据库的多行读取,C#中有 DataSource/DataTable 等,PHP只能 foreach 吗?貌似不太方便//foreach不是读取多行数据,而是遍历数据的,php读取多行数据库可以用mysql_fetch_row等。6 . C#有 Web.conf 配置文件,可以保存重要的信息或设置,我却没找到PHP的配置文件,是否不需要?//需不需要看你要求了,你可以写个数据库操作类,很方便。7 . 对数据库的帐号密码,大家一般是怎么 保存的?看到过 有些示例写在一个全局 Class 里,但好像完全没有作什么安全设置,会不会很不安全?//PHP是服务器代码,所以安全问题不用担心。8 . PHP中有没有像C#一样的 StringBuilder ?//StringBuilder 是什么?字符创建?
      

  3.   

    差别还是很大的,做几个东西试一下就知道了。
    C#能处理的,php差不多都能处理,只不过有的方式不一样罢了。
      

  4.   

    php 处理string非常方便,而且php里面数据类型要求并不严格,你大可以在字符串里面拼数字,而不需要用ToString()
      

  5.   

    用PHP框架吧,感觉有点类似C#的感觉,只需要写业务逻辑
      

  6.   

    先顶一下搂主,这不是什么恶意行为哦
    群号:62464919,本群是IT技术群,包括(C#,Java,ruby,JavaScript,asp,jsp,python,asp.net,sql,mysql……众多语言)此群需要您来共同进步,学习中放松心情。管理员在次致敬,呵呵,搞的不好了。
      

  7.   


    1.我知道mysql_close()能释放,但有没有像C#的using块一样,using块里的对象全是短生命周期的,就算不用closemysql_close()也能自动释放。2.举个例子吧。3.也举个例子吧。5.如果mysql_fetch_row是读多行的,但不像C#的DataTable一样,可以绑定多个Repeater,多次使用。我是想了解有没有什么办法可以在指定的地方才用 mysql_fetch_row。