sigma = 2e-3;
rbfKernel = @(X,Y) exp(-sigma .* pdist2(X,Y,'euclidean').^2);
for i = 1:len % leave one out cross validation
data_train = data_reduced; % After PCA , data reduced is 32X3
data_test = data_reduced(i,:);
data_train(i,:) = [];
group_Train = group;
group_test = [group(i)];
group_Train(i) = [];
numTrain=size(data_train,1);
numTest=size(data_test,1);
K = [ (1:numTrain)' , rbfKernel(data_train,data_train) ];
KK = [ (1:numTest)' , rbfKernel(data_test,data_train) ];
SVMClass=svmtrain(group_Train, K, '-t 4');
[predClass]=svmpredict(group_test,KK, SVMClass);
class = [class predClass];
end
中routes.php
的功能绝对是什么?
我的老师接受了有关它的教导,并表示如果你不使用例如以下的路线,你的观点将无效:
codeigniter
以及它的一切!
但对我而言,它不使用任何路线。我不知道为什么要使用路线。这只是浪费时间。谁能解释一下?
答案 0 :(得分:5)
在codeigniter中,PHP文件以不同的方式提供,而不是直接从浏览器访问PHP文件。此过程称为路由。
我们的代码无需重写 routes.php中的网址即可使用。
我们都希望以更方便的方式显示我们的网页,以便它对访问者(当然也包括搜索引擎)更有意义。例如,只需通过检查浏览器地址栏中的URL,即可简要了解页面包含的内容。如果我们保持这一点,就像服务器脚本(PHP,Asp.NET等)可以理解的那样,如下所示,不应该实现我们的目标:
http://yourdomain.com?p=1
http://yourdomain.com?p=2
http://yourdomain.com?w=30
http://yourdomain.com?z=234
//etc......
从以上链接中,无法理解这些网页的内容。现在,如果它如下所示:
http://codesamplez.com/database/codeigniter-activerecord
http://codesamplez.com/programming/regular-expressions-in-php
这些更有意义,我们可以从看到URL中得到一个简短的想法。此外,与早期的网址相比,搜索引擎提供了更多的价值,这就是为什么它们被称为“搜索引擎友好网址”。所以,无论你选择什么原因,总是更好地使用SEO友好的URL。好的,现在,我们决定让我们的网站更加SE /访客友好,并希望使用这些网址。现在,我们应该如何开发应用程序以将此URL映射到原始请求处理程序脚本?
Url Rewriting / Routing实际上是将这个seo友好网址转换为服务器代码可以轻松理解的格式/将请求驱动到相应的请求处理程序脚本的技术。
CodeIgniter具有用户友好的URI路由系统,因此您可以轻松地重新路由URL。通常,URL字符串与其对应的控制器类/方法之间存在一对一的关系。 URI中的段通常遵循此模式 -
your-domain.com/class/method/id/
在某些情况下,您可能希望更改此默认路由机制。 CodeIgniter提供了用于设置自己的路由规则的工具。
有一个特定的文件,您可以处理所有这些。该文件位于application / config / routes.php(您已经知道)。您将找到一个名为$ route的数组,您可以在其中自定义路由规则。 $ route数组中的键将决定路由的内容,值将决定路由的位置。 CodeIgniter中有三条保留路由。
<强> $路线[&#39; default_controller&#39;] 强>
此路由指示应该加载哪个控制器类,如果URI不包含数据,那么当人们加载根URL时就是这种情况。建议您使用默认路由,否则将显示404页面。我们可以在这里设置网站的主页,以便默认加载。
<强> $路线[&#39; 404_override&#39;] 强>
此路由指示如果找不到请求的控制器,应加载哪个控制器类。它将覆盖默认的404错误页面。它不会影响the show_404()
函数,后者将继续加载error_404.php
application/views/errors/error_404.php.
文件
<强> $路线[&#39; translate_uri_dashes&#39;] 强>
布尔值显而易见,这不是一条路线。此选项使您可以使用控制器和方法URI段中的下划线自动替换短划线(' - '),从而在需要时节省其他路径条目。这是必需的,因为破折号不是有效的类或方法名称字符,如果您尝试使用它,将导致致命错误。
答案 1 :(得分:1)
在CI代码中将运行不带routes.php。 routes.php用于自定义url / routes,如果你有像
这样的urlexample.com/pages/about_us
其中“pages”是你的控制器,“about_us”是该控制器中的方法,如果你想显示没有像example.com/about_us
这样的控制器的url,那么你需要以这种方式使用routes.php
$route['about_us'] = ['pages/about_us'];
答案 2 :(得分:0)
在codeigniter中路由一个主要功能,用于用户友好的URL和SEO友好的谷歌搜索。
这是什么意思:
如果有任何用户搜索了您网站上的任何产品,那么该网址就是
www.domain.in/categalog/Deskstop-Intel-124343
现在在这种情况下,url是用户友好的,如何解释它在路由中维护。
每当网址被点击时,控制流向routes
和routes
到controller
$route['product/(:any)'] = 'catalog/product_lookup';
现在,categorieslog / product_lookup被解释为product / any意味着有一个控制器Product
接受Id / text作为输入。
这就像根据我们的要求制作用户定义的URL一样简单。