What exactly is a baseUrl

五迷三道 提交于 2019-11-30 02:20:41

The short answer for why you need to have a baseUrl() facility is this:

Where the app is deployed should be a configuration issue, not a core application-functionality issue

In many - perhaps even most - cases, the base-url of the application will simply be $_SERVER['HTTP_HOST'] or $_SERVER['SERVER_NAME'].

But that's not always the case.

The easiest example to consider is a standard website that has the usual pages:

  • http://example.com/
  • http://example.com/contact
  • http://example.com/about
  • // etc

Now you write (or buy or download as an OSS package) a blog application that you would like to deploy under the url:

http://example.com/blog

The blog could have links like:

  • http://example.com/blog/post/my-post-slug
  • http://example.com/blog/categories/some-category
  • //etc

All these links reside under /blog.

The blog application itself should be concerned only with links/pages/routing inside the blog. Though your blog templates may very well contain header/footer links back to the rest of the site, the rest of the core blog application functionality should not have to know about of the rest of your site. Somehow, the blog application needs to know that when he generates links to blog posts and blog categories and all his other blog-related pages, they all must be prefixed with http://example.com/blog.

The values $_SERVER['HTTP_HOST'] or $_SERVER['SERVER_NAME'] do not reflect this environment/deployment information. Configuring (!) the app with a base-url value and consistently using some kind of baseUrl() function (that consumes this config) when generating links is a good way to keep your core application functionality focused on its own business and not on external deployment factors.

Your web site is made up a series of web pages. Each web page has a full Uniform Resource Locator (URL) something like http://www.your.com/intro.htm. Your web page URLs will usually start with the same set of letters, eg http://www.your.com/ in this case. This common prefix is what we call your Base URL.

Using Base URLs simplifies your work as you do not need to see or type in the full URL for each page that you want to refer to.

Or

A URL assigned to a page to convert "relative URLs" into "absolute URLs" by the addition of a document name or trailing slash /

To understand zend url please refer this link

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!