jjzjj

php - CodeIgniter "default_controller"函数在 URL 中没有 Controller 名称

coder 2024-05-03 原文

如果这是一个“duh”问题或者如果您需要更多信息来回答,请原谅我,我是 CodeIgniter 的新手,仍然没有弄清楚一些最佳实践等......

routes.php 我有 $route['default_controller'] = "home"; 所以我的 default_controller 显然是“home” .

在我的 home.php Controller 中,我有:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
    function __construct() {
        // blah
    }
    function index(){
        // blah
    }
    function login(){
        // blah
    }
}

哪个工作正常,一切都没有问题。我唯一想不通的是,如果我想访问 login 功能,我目前必须去 www.blah.com/home/login。 我怎样才能改变它,让它直接转到 www.blah.com/login,而无需创建新的 Controller (我想将其中一些一次性基准 url 全部保留在我的默认值中 Controller )?这是可能的还是我只需要创建一个新的 Controller ?

如果我只需要创建一个新的,是否有关于您拥有多少个 Controller 等的最佳实践

最佳答案

文档说:如果 URL 中提供的 URI 段无法与有效路由匹配,此路由将告诉路由器使用哪些 URI 段。

所以使用$route['login'] = 'home/login';

关于php - CodeIgniter "default_controller"函数在 URL 中没有 Controller 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13705604/

有关php - CodeIgniter "default_controller"函数在 URL 中没有 Controller 名称的更多相关文章

  1. c# - 为什么 "monkey with the loop index"不好? - 2

    SteveMcConnell的list项目之一是youshouldnotmonkeywiththeloopindex(第16章,第25页,循环索引,PDF格式)。这具有直觉意义,并且是我一直遵循的一种做法,除非我以前学过如何编程。在最近的一次代码审查中,我发现了这个笨拙的循环并立即将其标记为可疑。for(inti=0;i<this.MyControl.TabPages.Count;i++){this.MyControl.TabPages.Remove(this.MyControl.TabPages[i]);i--;}这几乎很有趣,因为它设法通过将索引保持为零来工作,直到所有Tab

  2. c# - 如何退出函数? - 2

    我知道在vb.net中你可以做ExitSub但我想知道如何退出按钮中的点击事件?这是我的代码:privatevoidbutton1_Click(objectsender,EventArgse){if(textBox1.Text==""||textBox2.Text==""||textBox3.Text==""){//exitthisevent}} 最佳答案 使用return语句。MSDNReference 关于c#-如何退出函数?,我们在S

  3. c# - XPath 和 XPathSelectElement - 2

    我有以下xml<root><databases><db1name="Name1"/><db2name="Name2"server="myserver"/><db3name="Name3"/></databases><root>我已经尝试了所有可能的XPath查询组合来读取db2(="Name2")的名称,但从未获得预期的结果。到目前为止我的代码:varquery="root/databases/db2..";//hereI&

  4. c# - 我应该从函数返回数组还是集合? - 2

    从函数返回多个相同类型的对象时,首选容器类型是什么?返回一个简单的数组(如MyType[])是否违反良好实践,或者你应该将它包装在一些通用容器中(如ICollection)?谢谢! 最佳答案 EricLippert有一个很好的article对此。如果您懒得阅读整篇文章,答案是:返回接口(interface)。 关于c#-我应该从函数返回数组还是集合?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

  5. c# - 使用 RestSharp 将 GET 参数添加到 POST 请求 - 2

    我想向这样的URL发出POST请求:http://localhost/resource?auth_token=1234我想在正文中发送JSON。我的代码看起来像这样:varclient=newRestClient("http://localhost");varrequest=newRestRequest("resource",Method.POST);request.AddParameter("auth_token","1234");request.AddBody(json);varresponse=client.Exec

  6. c# - WCF 中的 mex 绑定(bind)错误 - 2

    我正在使用VSTS2008+C#+.NET3.0。我正在使用自托管WCF服务。执行以下语句时,出现如下“找不到绑定(bind)”的错误。我已经发布了整个app.config文件,有什么问题吗?ServiceHosthost=newServiceHost(typeof(MyWCFService));错误信息:CouldnotfindabaseaddressthatmatchesschemehttpfortheendpointwithbindingMetadataExchangeHttpBinding.Registeredbaseaddressschemesare[https].完整的应用

  7. c# - 公共(public)构造函数和静态构造函数 - 2

    我正在阅读使用两个构造函数的C#代码。一个是静态的,另一个是公共(public)的。这两个构造函数有什么区别?为什么我们必须使用静态构造函数? 最佳答案 static和public是正交的概念(即它们彼此没有任何关系)。public只是意味着该类的用户可以调用该构造函数(相对于private)。static表示方法(在本例中为构造函数)不属于类的实例,而是属于“类本身”。特别是,当类第一次被使用时,静态构造函数被一次自动调用。此外,不能将静态构造函数设为public或private,因为它不能手动调用;它仅由.NET运行时本身调用—

  8. c# - 在 MVC4 中添加 Controller 不起作用 - 2

    我使用的是VS2010Premium。我有一个使用SqlCe4.0和EntityFramework模型的MVC4项目。模型是:publicclassProjectBuild{publicintProjectBuildID{get;set;}publicstringname{get;set;}}publicclassProjectBuildContext:DbContext{publicDbSet<ProjectBuild>builds{get;set;}}下面是我的连接字符串:addname="ProjectBuildContext"connectionSt

  9. c# - Request.Url.Host 和 ApplicationPath 一次调用 - 2

    有没有办法在一次调用中获取HttpContext.Current.Request.Url.Host和HttpContext.Current.Request.ApplicationPath?像“完整的应用程序url”之类的东西?编辑:澄清-我需要的是[]中的部分:http://[www.mysite.com/mywebapp]/Pages/Default.aspx我只是出于好奇才问的。编辑2:感谢所有回复,但没有一个正是我要找的。仅供引用,我通过这种方式解决了问题(但我仍然想知道是否有更流畅的方法):publicstringGetWebAppRoot(){if(HttpContext.C

  10. c# - 如何在 WPF 中使用 Application.Exit 事件? - 2

    我需要删除某些文件,然后用户关闭了WPF中的程序。所以我从这里尝试了MDSN代码http://msdn.microsoft.com/en-us/library/system.windows.application.exit.aspx这样:此代码位于App.xml.cspublicpartialclassApp:Application{voidApp_Exit(objectsender,ExitEventArgse){MessageBox.Show("Filedeleted");varsystemPath=System.Environment.GetFolderPath(

随机推荐

  1. c# - 如何将母版页的 ScriptManager 放入子页的代码隐藏在 c# (.cs) 文件中 - 2

    以下是我搭建的网站环境:我有一个母版页。我已经从中创建了一个子页面。我已将脚本管理器放在母版页上。现在我想访问母版页的脚本管理器以在我的代码隐藏(C#)文件中动态创建用户控件。如何访问放置在母版页上的脚本管理器到我的子页。 最佳答案 我明白了,它在ScriptManager类本身中给出。System.Web.UI.ScriptManager.GetCurrent(this.Page); 关于c#-如何将母版页的ScriptManager放入子页的代码隐藏在c#(.cs)文件中,我们在St

  2. c# - 使用 Adob​​e Acrobat 静默打印 PDF - 2

    尝试使用adobeacrobat在C#中静默打印pdf时遇到2个问题。我正在使用Process.Start()打印pdf。第一个问题是,如果不指定可执行文件的完整路径,我将无法启动Adob​​eAcrobat。我假设它在安装时不会将其添加到您的路径中。有没有一种简单的方法可以在不指定完整路径名的情况下在机器上启动最新版本的acrobat?我担心客户端会进行更新并破坏我启动它的代码。我还关心他们在具有不同版本Windows的机器上安装它(安装路径在64位环境和32位环境中不同)。我的第二个问题是,每当我启动acrobat并打印它时,acrobat窗口仍然处于打开状态。我以为我使用的命令行

  3. c# - 在 C# 中使用递归 - 2

    在使用递归时,有没有关于如何避免堆栈溢出的一般规则? 最佳答案 您能够递归多少次取决于:堆栈大小(通常为1MBIIRC,但二进制文件可以手动编辑;我不建议这样做)递归的每个级别使用多少堆栈(例如,具有10个未捕获Guid局部变量的方法将比没有任何局部变量的方法占用更多堆栈)您正在使用的JIT-有时JIT将使用尾递归,有时则不会。规则很复杂,我记不住了。(有一个blogpostbyDavidBromanbackfrom2007和anMSDNpagefromthesameauthor/date,但它们现在可能已经过时了。)如何避免堆栈溢

  4. c# - 如何在 WPF 中使用 Application.Exit 事件? - 2

    我需要删除某些文件,然后用户关闭了WPF中的程序。所以我从这里尝试了MDSN代码http://msdn.microsoft.com/en-us/library/system.windows.application.exit.aspx这样:此代码位于App.xml.cspublicpartialclassApp:Application{voidApp_Exit(objectsender,ExitEventArgse){MessageBox.Show("Filedeleted");varsystemPath=System.Environment.GetFolderPath(

  5. c# - Entity Framework - 打印 EntityValidationErrors 以记录 - 2

    打印日志时出现以下错误Message:Validationfailedforoneormoreentities.See'EntityValidationErrors'propertyformoredetails.;StackTrace:atSystem.Data.Entity.Internal.InternalContext.SaveChanges()EntityValidationErrors对象包含不同节点中的完整详细错误。打印它的最佳方法是什么? 最佳答案 更简洁的语法:catch(System.Data.En

  6. c# - 如何获取DataTable中某列的SqlType? - 2

    我有一个从SQL数据库中获取的数据表,如下所示:using(SqlCommandcmd=newSqlCommand(query,_sqlserverDB)){using(SqlDataAdapteradapter=newSqlDataAdapter(cmd)){DataSetdataSet=newDataSet();adapter.Fill(dataSet);result=(dataSet!=null&&dataSet.Tables!=null&&dataSet.Tables.Count>0)?dataSet.Tables[0]:null;}}当我

  7. C# 将 int 类型的对象转换为可为 null 的枚举 - 2

    我只需要能够将对象转换为可为空的枚举。对象可以是枚举、null或int。谢谢!publicenumMyEnum{A,B}voidPut(objectvalue){System.Nullable<Myenum>val=(System.Nullable<MyEnum>)value;}Put(null);//worksPut(Myenum.B);//worksPut(1);//Invalidcastexception!! 最佳答案 怎么样:MyEnum?val=value==null?(MyEnum?)null:(

  8. c# - 如何根据文本调整按钮大小 - 2

    在用C#+Winforms翻译应用程序的过程中,我需要根据语言更改按钮的文本。我的问题如下:假设我想翻译“大家好!”中的一个按钮到“Bonjourtoutlemonde”!正如您所猜到的,如果我输入英文文本或法文文本,按钮的大小将不一样...我的问题是“简单”,我如何设法即时调整按钮的大小以使文本适合它在按钮中的内容?到目前为止我得到了类似的东西![大家好!][你好] 最佳答案 绝对没有必要像其他发帖者所说的那样使用底层的Graphics对象。如果将按钮的AutoSize属性设置为true,则将AutoSizeMode设置为Grow

  9. c# - .NET 中类(对象)的大小 - 2

    如何确定.NET中的类是大类还是小类?它是根据属性或字段的数量、属性/字段的数据类型来衡量的吗?或返回类型的方法?它的方法的参数?其方法的访问修饰符,虚拟方法?谢谢..classA{stringx{get;set;}}classB{intx{get;set;}}在这个例子中,如果我像这样实例化类A和BAobjA=newA();BobjB=newB();类objA是否更大,因为它包含一个String属性而objB仅包含一个Int?尽管我没有为它的属性设置任何值。谢谢编辑:只是为了澄清我的问题假设我有一个类publicclassMember{publicstringMainEmpId{ge

  10. c# - 如何处理以编程方式添加的按钮事件? C# - 2

    我正在使用C#制作Windows窗体应用程序。我在运行时以编程方式添加按钮和其他控件。我想知道如何处理这些按钮的点击事件? 最佳答案 尝试以下操作Buttonb1=CreateMyButton();b1.Click+=newEventHandler(this.MyButtonHandler);...voidMyButtonHandler(objectsender,EventArgse){...} 关于c#-如何处理以编程方式添加的按钮事件?C#,我们在StackOverflow上找到一个