官术网_书友最值得收藏!

Chapter 3. Discussion Forum

A discussion forum can be quite a useful resource to have on internal company projects or to allow clients to interact on projects, for example.

Discussion forums are a great way to create a community around a particular subject or topic, acting as a type of wiki. They are a store of knowledge of something or a record of a discussion, containing a history of changes of ideas and concepts and recording the evolution of thinking around a topic or subject. They can also be used to talk about cats.

To create this app, we'll create three controllers: one to handle discussions, one to handle comments, and one to handle any admin functionality that we might need, such as moderating comments and discussions.

We'll create a language file to store text, allowing you to have multiple language support, should that be required.

We will make amendments to the config.php file to allow for encryption support, which is necessary for sessions and password support.

We'll create all the necessary view files and even a .css file to help Bootstrap with some of the views.

This app, along with all the others in this book, relies on the basic setup we did in Chapter 1, Introduction and Shared Project Resources, although you can take large sections of the code and drop it into pretty much any app you might already have; please keep in mind that the setup done in the first chapter acts as the foundation for this chapter.

It is worth mentioning the limits of the application. This application contains the most basic discussion forum functionality. We create users on our way; however, there is no user management—to include that would be a large extension of the application code and slightly out of scope of a discussion forum.

Users are created when someone creates a comment or discussion using an e-mail address that is not currently stored in the users table. A password is generated for them and a hash is created based on that password.

As this application creates a password for them automatically, you might wish to tell them what that password is—perhaps by sending them an e-mail. However, you might not wish them to be able to log in at all. It's up to you—the functionality is there should you wish to expand upon it.

In this chapter, we will cover:

  • Design and wireframes
  • Creating the database
  • Creating the models
  • Creating the views
  • Creating the controllers
  • Putting it all together

So, without further ado, let's get on with it.

主站蜘蛛池模板: 阿合奇县| 东乡县| 永州市| 木里| 博兴县| 武川县| 万全县| 田林县| 阜宁县| 凤庆县| 桦甸市| 陇南市| 濮阳县| 双江| 江北区| 萝北县| 大丰市| 县级市| 蓝田县| 花莲县| 洪洞县| 井冈山市| 阿坝县| 沙湾县| 沧州市| 岚皋县| 平昌县| 南岸区| 江陵县| 靖宇县| 顺平县| 镇平县| 临安市| 江山市| 临安市| 博野县| 仁化县| 二连浩特市| 长汀县| 二连浩特市| 巫溪县|