小编joh*_*nny的帖子

如何自动加载文件名与类名不同的类?

这些我都看过,

如何自动加载具有不同文件名的类?PHP

加载一个名称与作为参数传递给自动加载器的名称不同的类

我可以改变,但在我的 MV* 结构中我有:

/models
    customer.class.php
    order.class.php
/controllers
    customer.controller.php
    order.controller.php
/views
...
Run Code Online (Sandbox Code Playgroud)

在他们实际的课堂上,

class CustomerController {}
class OrderController{}
class CustomerModel{}
class OrderModel{}
Run Code Online (Sandbox Code Playgroud)

我试图与名称保持一致。如果我不添加类名后缀(控制器、模型),我将无法加载该类,因为这是重新声明。

如果我保留类的名称,自动加载会失败,因为它将查找名为的类文件

CustomerController
Run Code Online (Sandbox Code Playgroud)

当文件名确实是,

customer.controller.php
Run Code Online (Sandbox Code Playgroud)

我唯一的方法是(排名不分先后):

  • 使用创建别名
  • 重命名我的文件(customer.model.php 至 customermodel.php)
  • 重命名我的课程
  • 使用正则表达式
  • 使用带有包含文件的引导程序(includerequire_once等)

示例代码,

function model_autoloader($class) {
    include MODEL_PATH . $class . '.model.php';
}

spl_autoload_register('model_autoloader');
Run Code Online (Sandbox Code Playgroud)

看来我必须重命名文件,

http://www.php-fig.org/psr/psr-4/

“终止类名对应于以 .php 结尾的文件名。文件名必须与终止类名的大小写匹配。”

php psr-4 php-5.5

5
推荐指数
1
解决办法
4561
查看次数

为什么我必须在ASP.NET MVC中"连接"依赖注入?

我认为接口,多态性和通过依赖注入的控制反转等模式的全部原因是为了避免紧耦合,分离,模块化等等.

那么为什么我必须明确地将接口"连接"到ASP.NET中的具体类?会不会有我的注册表是某些类型的耦合?喜欢,

services.AddTransient<ILogger, DatabaseLogger>();
Run Code Online (Sandbox Code Playgroud)

如果我使用记录器,ILogger并创建实现该接口的文件和数据库类,该怎么办?

在我的IoC中,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    public interface ILogger
    {
        void logThis(string message);

    }
    public class DatabaseLogger : ILogger
    {
        public void logThis(string message)
        {
            //INSERT INTO table.....
            System.Console.WriteLine("inserted into a databse table");
        }

    }
    public class FileLogger : ILogger
    {
        public void logThis(string message)
        {
            System.Console.WriteLine("logged via file");
        }

    }
    public class DemoClass
    {
        public ILogger myLogger;


        public DemoClass(ILogger myLogger)
        {
            this.myLogger = myLogger; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc dependency-injection inversion-of-control

5
推荐指数
1
解决办法
205
查看次数

托管扩展性框架 (MEF) 是 ASP.NET Core 2 内部用于 IoC 的内容吗?

我正在尝试评估托管扩展性框架 (MEF) 是否可以用于扩展 ASP.NET Core 2.x MVC 网站。我也看到了 ExtCore。我的愿望是使用它为我的应用程序中的插件构建基础设施。

我无法弄清楚 MEF 是否是 Silverlight 的遗产,或者 MEF 是否是 Core 实际用于其 IoC 的内容。我知道 MEF 在 CoreFX 中,但这就是我确定的全部。

如果可行而不是遗留的话,我想在这里使用 MS 的 IoC DI。MEF 是遗留的还是 Core 本身使用的?

我看过一些问题,大多数都是很老的问题,

.NET Core(或 ASP.NET 5)中是否有 MEF 的替代品

在 ASP.NET Core 中,IoC ASP 启动类是否解决了托管可扩展性框架通过目录和容器解决的问题? (最后一个是我2016年底问的一个问题。)

asp.net dependency-injection mef inversion-of-control asp.net-core-2.0

5
推荐指数
0
解决办法
1393
查看次数

我应该为Internet Explorer 8开发吗?

我想将它安装在我的开发机器上,以便它出来时.但我担心介于两者之间的项目不对,应用程序的测试也很麻烦.我使用的是VWD 2008 Express.也不确定是否使用RC1.

谢谢.

编辑:

这是一个我知道只有IE的内联网.再次感谢你.

internet-explorer internet-explorer-8

4
推荐指数
1
解决办法
764
查看次数

在构建应用程序时,您是否首先考虑数据库或对象?

当你考虑构建一个应用程序,比如Web,并且它使用关系数据库时,你是先考虑数据库然后把你的应用程序作为前端,还是考虑你的程序和对象以及数据库如何存储那些.我试图改变我的想法,但它没有点击(我不确定我的评估是否正确.)

我已经问过其他的Hibernate和nHibernate问题,但我试图将其解决.我倾向于首先考虑数据库方面的数据库应用程序,然后考虑应用程序.在阅读了很多关于Hibernate的内容之后,似乎那些使用Hibernate的人会有不同的看法.他们似乎在考虑对象和类.他们与我完全相反.

并且在Hibernate的背景下.如果我倾向于首先考虑数据库方面,那么在开始时是否存在"坏"或"错误"的心态?我只能找到一些使用Hibernate或其他ORM的一致原因 - 性能,数据库不可知性,并且它从那里变化.我想使用Hibernate,但我想正确处理它.它似乎是一种完全不同的思维方式,而不仅仅是性能和选择数据库.

有关:

哪个更重要?数据库设计还是编码?.

database nhibernate orm hibernate

4
推荐指数
1
解决办法
493
查看次数

简单的MVC NerdDinners Lambda

在Microsoft的MVC教程NerdDinners的代码中:

公共类DinnerRepository {

private NerdDinnerDataContext db = new NerdDinnerDataContext();

//
// Query Methods

public IQueryable<Dinner> FindAllDinners() {
    return db.Dinners;
}

public IQueryable<Dinner> FindUpcomingDinners() {
    return from dinner in db.Dinners
           where dinner.EventDate > DateTime.Now
           orderby dinner.EventDate
           select dinner;
}

public Dinner GetDinner(int id) {
    return db.Dinners.SingleOrDefault(d => d.DinnerID == id);
}

//
// Insert/Delete Methods

public void Add(Dinner dinner) {
    db.Dinners.InsertOnSubmit(dinner);
}

public void Delete(Dinner dinner) {
    db.RSVPs.DeleteAllOnSubmit(dinner.RSVPs);
    db.Dinners.DeleteOnSubmit(dinner);
}

//
// Persistence 

public void Save() {
    db.SubmitChanges();
} 
Run Code Online (Sandbox Code Playgroud)

}

什么: …

model-view-controller lambda nerddinner

4
推荐指数
1
解决办法
1626
查看次数

中间件对Twitter和Scala意味着什么?

参考其他SO质疑我,我得到了这条关于Twitter从Rails的移动到Scala和在文章中是这样的评论:

Payne表示,到今年年底,Twitter希望将其整个中间件基础设施及其API移植到新语言中.Ruby将保留,但仅限于前端."我们仍然对Rails构建面向用户的功能感到满意......性能方面,对于点击网页的用户来说这很好.这是我们已经摆脱的繁重,异步处理类型的东西."

中间件在这里意味着什么?Ruby在前端到底意味着什么?这是否意味着前端的轨道使用的ORM非常少?它如何与scala"见面"?这个评论意味着什么?

只是想了解架构.谢谢.

ruby architecture twitter scala ruby-on-rails

4
推荐指数
1
解决办法
1163
查看次数

我在哪里可以学习游戏物理的基础知识及其背后的数学知识?

我在大学里学习数学(三角学,微积分II ......)但我不知道为什么你在游戏物理中使用tan,arctan等.我知道我可以找到工作代码并理解除了为什么我使用特定的trig函数之外的一切,但我不希望这样.

我想知道为什么我使用arctan或罪恶.我在哪里可以了解为什么我使用特定的数学函数来使球实际弹跳?

谢谢你的帮助.

编辑:我是否需要参加入门级物理课来理解游戏物理?

math

4
推荐指数
2
解决办法
5223
查看次数

ajax是否需要Web服务?

如果我想使用jquery(或其他)ajax在页面中部分更新数据,我调用的页面是否必须是Web服务?或者只返回任何返回json或xml的页面?

我想我是这样问的,因为在asp.net中你有"官方"的网络服务.在其他语言和框架中,它们可能不是那样的.我知道例如我可以创建一个经典的asp页面并返回一个xml文档.这是一个Web服务吗?

ajax jquery web-services

4
推荐指数
1
解决办法
250
查看次数

使用SVN,如何让其他开发人员覆盖我?

我不知道该怎么做.我刚开始在一个真实的项目中使用SVN.我有一切正常.但是,我是唯一使用它的人.现在我想向这个过程介绍第二个人.

我在我的Windows机器上下载了tortoisesvn并检查了主干.我可以编辑文件并提交我的新文件.一切正常.

现在,我希望第二个人这样做,而我正在做点什么.通常他可能正在处理另一个文件,我们同意将我们提交的文件导出到测试服务器(我的想法无论如何),但是如果我们正在处理同一个文件呢?例如,配置文件.也许我们都需要改变它.当别人改变它时,我怎么能(或他)保留另一个.如果我们其中一个人提交了一个新的更新,它将会删除我们刚刚放入的内容.不知道该怎么做.

svn collaboration

4
推荐指数
2
解决办法
213
查看次数