这是我第一次发这样的帖子。我是编程/php 方面的十足新手。我试图掌握那里的所有教程,并想创建一种框架来将项目作为 Web 数据库/应用程序的基础。我想出了一些用于 crud 操作的文件,我知道它们一定是非常糟糕的代码。我想知道我是否可以得到一些建议来将这个“框架”提升到一个新的水平。我不擅长 OO,但我理解这些概念,所以我改用更实用的方法。我知道这些歌曲很恶心,我不需要帮助就可以识别出来。
我需要一些关于数据库调用的帮助。我知道我应该使用 PDO(以帮助注入(inject)),但我不确定如何将此代码转换为该结构。我也意识到至少我应该使用 mysqli 函数。再一次,n00b。
我也知道验证和清理数据,但同样,作为新手,我不知道从哪里开始。特别是如果我想让它保持紧凑和小巧。从程序员的角度来看,这些评论很有趣,但是,嘿,你用你得到的东西工作。我试图掌握 MVC 并能够结合 AJAX 和模板/皮肤,但它的关键是使用数据库。
我确实喜欢一个配置文件如何与所有其他文件一起工作,以及它如何产生用于索引、读取和删除的小文件。其他人的时间会更长一些。并不是说包含文件会让我很酷或什么的。
我认为我在理解 MVC 和构建项目以便维护和调整它更容易方面非常失败。我还意识到那些 php 文件中有很多 html,这也是一个禁忌。我如何填补我所知道的(我知道每个文件的每一行都在做什么)到我应该知道的空白。
代码可以在这里找到(可能不值得sourceforge,但我想帮助其他人像我一样学习)。
https://sourceforge.net/projects/eleete/files/
最佳答案
构建这样的东西需要很多时间,在你这样做之前,我建议你研究一下开源 CMS,比如 Wordpress,看看它们是否比你花几个小时自己创造一些东西更适合你,原因我说这是因为一开始您可能认为为自己创建一个不会太难,但是当您开始使用它时,您会意识到在安全性和功能方面需要探索许多途径。
但是,如果您仍想构建一些东西,最重要的是创建可重用且易于理解的代码。例如,如果你想为页面之类的东西创建数据库条目,你会想要创建函数来这样做,你可以将变量(如标题等)传递给它。一个好的开始方法是创建用于从你的网站收集数据的函数db,例如 siteinfo() 可以是一个函数,它返回一个包含站点信息的数组。为确保每个文件都可以访问此类函数,您需要一个全局文件,例如 functions.php,您需要将其包含在每个其他文件中。
请记住,构建一个框架是一项艰巨的工作,但如果你正确而彻底地完成它,你应该会大大提高你的生产力——这是你在构建它时需要考虑的事情,确保你没有在一个特定的环境中做事迂回的方式。使其简单,使其可重用,并使其强大。
关于php - 我可以得到一些帮助来纠正我的小初学者项目吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4028350/
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta
查看Ruby的CSV库的文档,我非常确定这是可能且简单的。我只需要使用Ruby删除CSV文件的前三列,但我没有成功运行它。 最佳答案 csv_table=CSV.read(file_path_in,:headers=>true)csv_table.delete("header_name")csv_table.to_csv#=>ThenewCSVinstringformat检查CSV::Table文档:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV/Table.html
我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
我正在阅读SandiMetz的POODR,并且遇到了一个我不太了解的编码原则。这是代码:classBicycleattr_reader:size,:chain,:tire_sizedefinitialize(args={})@size=args[:size]||1@chain=args[:chain]||2@tire_size=args[:tire_size]||3post_initialize(args)endendclassMountainBike此代码将为其各自的属性输出1,2,3,4,5。我不明白的是查找方法。当一辆山地自行车被实例化时,因为它没有自己的initialize方法
我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI
我喜欢使用Textile或Markdown为我的项目编写自述文件,但是当我生成RDoc时,自述文件被解释为RDoc并且看起来非常糟糕。有没有办法让RDoc通过RedCloth或BlueCloth而不是它自己的格式化程序运行文件?它可以配置为自动检测文件后缀的格式吗?(例如README.textile通过RedCloth运行,但README.mdown通过BlueCloth运行) 最佳答案 使用YARD直接代替RDoc将允许您包含Textile或Markdown文件,只要它们的文件后缀是合理的。我经常使用类似于以下Rake任务的东西:
我想让一个yaml对象引用另一个,如下所示:intro:"Hello,dearuser."registration:$introThanksforregistering!new_message:$introYouhaveanewmessage!上面的语法只是它如何工作的一个例子(这也是它在thiscpanmodule中的工作方式。)我正在使用标准的rubyyaml解析器。这可能吗? 最佳答案 一些yaml对象确实引用了其他对象:irb>require'yaml'#=>trueirb>str="hello"#=>"hello"ir
只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您