今年晚些时候,我想发布一个我一直在开源的PHP框架.我确实使用了源代码控制(SVN),但它的使用非常有限.我是自学成才,我自己开发,没有与大型团队合作的经验.关于什么可以帮助项目成功,我有一些想法,但我对一些细节很模糊.由于它还没有发布,我想尽我所能从一开始就建立正确的基础设施.为了设置和管理成功的项目,我需要知道什么?
我必须使一些想法成功(除了营销之外):
我的一些问题:
我很乐意从你对这些方面的经验中学习.如果您认为我错过了任何重大内容,请分享.您可以指向我的任何资源(最好是面向初学者)也会非常感激.
就变量命名约定而言,是应该命名迭代器i还是更像语义的东西count?如果你不使用i,为什么不呢?如果您认为这i是可以接受的,是否存在不应该使用迭代的情况?
模态窗口/对话框是否被视为网站的良好做法?关于使用模态窗口的一个问题是,它非常像弹出窗口,它可能会导致用户沮丧或导致用户只是关闭它,因为它是侵入性的.您是否知道有任何关于用户偏好和使用率的研究?
除了在关闭JavaScript时使用模态窗口链接在新页面中加载内容之外,是否存在任何可访问性问题?你喜欢使用模态窗口的网站或网络应用吗?为什么或者为什么不?实现模态窗口有哪些好的和坏的做法?我知道在显示图片或画廊时最常使用模态,但还有哪些其他实际用例?您是否在自己的网站上使用它们,是什么导致您做出决定?
根据PHP手册,为了使代码更具可移植性,他们建议使用以下内容来转义数据:
if (!get_magic_quotes_gpc()) {
$lastname = addslashes($_POST['lastname']);
} else {
$lastname = $_POST['lastname'];
}
Run Code Online (Sandbox Code Playgroud)
我还将进行其他验证检查,但上述严格来说,在逃避数据方面有多安全?我还看到在PHP 6中将不推荐使用魔术引号.这将如何影响上述代码?我宁愿不依赖于像mysql_real_escape_string()这样的特定于数据库的转义函数.
我有一个倾斜45度角的SVG六角网格.在各个六角形上,我想放置图像(由红色矩形表示),这些图像看起来是直立的,分别对应于网格平面.图像/矩形不一定必须达到90度,但是我最难让它们拥有与飞机有点不同的任何视角.
有没有办法取消子元素的透视图或以某种方式重新编写CSS变换以使其看起来正确?
码
.display {
animation: displayFlicker 100ms cubic-bezier(.37, 0, .41, 1.74) 100ms 1 normal forwards;
-webkit-animation: displayFlicker 100ms cubic-bezier(.37, 0, .41, 1.74) 100ms 1 normal forwards;
background: #000;
display: block;
border-left: 0.25rem solid #000;
border-right: 0.25rem solid #000;
box-sizing: border-box;
-moz-box-sizing: border-box;
height: 480px;
overflow: hidden;
width: 1096px;
}
#hexGrid {
box-sizing: border-box;
-moz-box-sizing: border-box;
display: block;
height: 100%;
-webkit-transform: perspective(44vw) rotateX(45deg) scale3d(1.6, 1.6, 1.6);
-moz-transform: perspective(44vw) rotateX(45deg) scale3d(1.6, 1.6, 1.6);
-ms-transform: perspective(44vw) rotateX(45deg) scale3d(1.6, 1.6, 1.6);
-o-transform: perspective(44vw) …Run Code Online (Sandbox Code Playgroud)在最近的一次对话中,我提到我使用JavaScript作为Web应用程序.该评论引发了一个回应:"你应该使用Flex.它会缩短你的开发时间,而JavaScript也很难调试和维护.你需要使用正确的工具来完成正确的工作." 现在,我对Flex不太了解,但我个人并不认为JavaScript太难调试或维护,特别是如果你使用框架.JavaScript也是目前使用最多的语言之一,所以在这方面它似乎也是更好的选择.然而,他的回答激起了我的兴趣.对于可供第三方开发人员构建附加组件的可分发Web应用程序,Flex是否是一个不错的选择?使用它与JavaScript框架相比有哪些优势?有哪些缺点?
我正在与一个需要生成数百万字母数字代码的客户合作,这些代码用于杂志刮刮卡,瓶装奖品等.它们必须足够短以便在帽子上打印,他们希望确保不包括像1和I,0和O等模糊字符,并且必须明确存储它们以备将来使用 - 我们可以'只有一个算法可以在某人试图兑换一个时确定"有效性".最后,他们希望确保代码随机分布在一个大的"代码空间"内,这样人们就不能通过遍历字母表来猜测其他代码.
有没有指向合理有效的算法来生成这些类型的代码集?我在信封的背面刮了几下,但这个问题闻起来像是一个不知情的陷阱.
我有兴趣了解更多关于自然语言处理(NLP)的信息,如果目前有任何策略可以识别不基于字典识别的文本中的专有名词,我很感兴趣吗?此外,任何人都可以解释或链接到解释当前基于字典的方法的资源吗?谁是NLP的权威专家或该主题的权威资源是什么?
如果在PHP中花费太长时间,有没有办法可以中止一段代码?也许是这样的:
//Set the max time to 2 seconds
$time = new TimeOut(2);
$time->startTime();
sleep(3)
$time->endTime();
if ($time->timeExpired()){
echo 'This function took too long to execute and was aborted.';
}
Run Code Online (Sandbox Code Playgroud)
它不一定完全像上面那样,但有没有任何本机PHP函数或类做这样的事情?
编辑:Ben Lee的答案pcnt_fork将是完美的解决方案,除了它不适用于Windows.有没有其他方法可以使用适用于Windows和Linux的PHP实现此目的,但不需要外部库?
编辑2:XzKto的解决方案可在某些情况下,但不是一致,我似乎无法捕获异常,不管我怎么努力.用例是检测单元测试的超时.如果测试超时,我想终止它,然后继续下一个测试.
php ×3
mysql ×2
3d ×1
apache-flex ×1
coding-style ×1
constraints ×1
css ×1
generator ×1
installation ×1
iterator ×1
javascript ×1
magic-quotes ×1
modal-dialog ×1
nlp ×1
open-source ×1
random ×1
security ×1
svg ×1
syntax ×1
timeout ×1
variables ×1