如何使用自己不了解的计算机语言去实现自己想要的功能呢?

我曾看到一句话“计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决”,这句话让我眼前一亮,一度把它视为金句。而这两天我做的一个项目需要构建一个中间层,又因为公司有个php的网站,于是我便有了用php写接口的想法。

那么问题来了,因为我只听说过PHP,没接触过它啊,虽然听说它很容易入门,但我确实不曾接触过它,于是我对它是抗拒的。又因为我曾听一位前辈说“PHP太混乱了,用着不安全”,于是我也不再有啥兴趣了,但现在的这个项目用PHP来写个接口的话,会非常的方便,所以,我便打开了PHP的大门。

先说一下这个项目的情况吧!客户有一个Sqlserver的数据库,客户要求把所有的数据全存储到客户的数据库中,也就是说我要在客户的数据库中建立一些表,然后让程序来操作这些表。我要写的程序大概是这样的,我用VS2015写一个UWP程序,这个程序是运行在装着Win10 iot系统的树莓派上。而这个程序需要创建数据库,之前我用的数据库是Sqlite而且存储在树莓派中,但是现在客户的数据库是Sqlserver,而且客户要求必须把数据存储在他们的数据库中,而他们的数据库是在电脑上的,于是问题来了。

怎么让运行在Win10 Iot上的UWP程序去操作电脑上的Sqlserver数据库呢?

因为我之前看过一本书“WCF全面解析”,其实只看了一点点,但我按着书中的教程敲了些代码,对WCF也算有点了解,于是我就在想,能不能用WCF来实现呢?于是我就写了个简单的WCF程序来测试下,结果我的VS出故障了,我不知UWP是不能使用WCF还是由于我的VS出故障,所以代码不能正常运行了,总而言之,在这条路上我是没找到出路,而且我最后发现,就算成功了,但在客户电脑上部署的时候,还是有点麻烦的,于是我便有了用PHP接口的方式来实现这个功能。那么问题又来了。

对PHP一点都不了解,项目又迫在眉睫,我能用PHP搞定这个吗?

我的路子比较野,我的一向主张就是“用到啥学啥,现学现用”,于是我撸起袖子就开始干活了。我只有一个想法,我能搞定它,我能用PHP搞定它,虽然我木玩过PHP,但我就是能用PHP搞定它。这是我当时的想法。当你对某件事情抱着百分之一百二十的信心,那么你一定能成功的。我喜欢这句话,哈哈。那么还剩一个问题。

如何使用自己不了解的计算机语言去实现自己想要的功能呢?

有句话是这么说的“兵来将挡,水来土掩”,而且我一向认为只要会分解问题,就不会有问题。现在正是检验这句话是否正确的时候呐!于是我就开始分解我的这个问题了。那么先得确定大问题,然后再分解问题,对不?那么大问题是什么呢?

这个大问题就是:我如何让UWP程序通过PHP接口来操作Sqlserver数据库?

这个问题其实可以简化一下就是“我怎么从0开始写一个可以操作Sqlserver数据库的PHP接口呢?”,因为一旦这个接口写好了,那让程序调用,不是很轻松的事情嘛!好了,这个大问题确定了,那怎么把它分解呢?

既然是操作Sqlserver数据库,那得先PHP连上Sqlserver数据库吧!其次得能用PHP操作Sqlserver数据库实现增删改查的操作吧!最后就是如何把这些增删改查的操作写成接口的形式,方便UWP程序调用吧!是不是就这三个问题?只要这三个问题搞定了,那么我的问题也就搞定了啊!

先看第一个小问题:PHP怎么连上Sqlserver数据

这个问题很简单吧!但对我来说好难呐!但好在网络很发达,网友很给力,于是我就上网搜啊搜,但很无奈的是,PHP和Mysql才是黄金搭档啊!SqlServer就是一小三,小三上位分外艰难呐!我找了好久,没找到方法,因为总是报一个莫名其妙的错,这让我很无语,于是我便去问我认识的或者不认识的人,去请教PHP怎么连接Sqlserver数据库,但还是没找到方法,因为Sqlserver是小三,好像PHP用它的不多。我感觉到很吃力啊,但后来我无意中看到了一句话,我就随手试了试,结果竟然连上了!

终于,这第一个问题算是搞定了,另外我想说,如果有网友也遇到这个问题,欢迎来与我讨论,我相信我能把这类问题搞定的。下面看第二个问题。

第二个问题:PHP如何操作Sqlserver数据库实现增删改查的操作?

这个相对来说就简单太多了,网上有很多这方面的教程,而且微软的官网还给出了这方面的函数和示例代码,只要多看两眼,多尝试一下,就肯定能够搞定的。这第二个问题,其实不能算是问题,但我的方法比较蠢,还有待改进。

第三个问题:如何把增删改查的操作写成接口形式呢?

这个就尴尬了,我刚去看了一眼,我写的PHP代码。一个PHP文件,写了11个接口,用了180行,而且是用switch写的接口。这个显得就太蠢了啊,但我是这么安慰自己的“毕竟没玩过嘛!能实现功能就不错啦,不错啦”,哈哈。但我觉得这个方法太蠢了,于是我在项目搞定后,我就去问大神们的PHP接口怎么写的,我说我用switch写的,是按照网上的教程写的。

大神们很惊讶!竟然还有这种操作?你把网址发过来!尴尬呐!实在是太尴尬了。但我真的是在网上看着教程搞的呐!难道是我把教程看歪了?我觉得有这种可能性,哈哈。但大神们便开始讨论了。哎!他们说的话,我听不懂啊!各种名词,各种英文字母的组合,哎呀,头大呐!

不过最后还是搞定了,这还是值得庆幸的,但是,这也导致了一个问题,一个很大的问题

这个问题就是,就算你不懂它,你虽然能够用它实现你想要的功能,但你的实现方式很不美观呐!应该说太不美观了,而且在实现之初的时候,会这么想“先把它搞定,让它先跑着再说,等它跑着没问题了,再去想办法优化它,但等它真的能跑了,就会想,算了,都能跑了,还折腾啥呢?”,看吧,这就是一个问题,一个很大的问题。

或者说,这是我的问题,我的一个大问题。因为我是不会优化它的,除非不得已。这是我的大毛病啊!但我现在也在改这个毛病,要以我为戒呐!如果你也有这个毛病,那就和我一起改掉它吧!如果没有,那一定不要染上呐,哈哈。

话好像说完了啊!不说了,我还是去看鲍勃的书吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值