Kaplan A. B

11.03.2019

I want to consider the principle of documenting PHP code based on DocBlock (DocBlock comments). Many call it the standard, although I have not found any authoritative sources confirming this. However, this comment format is common in many languages. As far as I understand, it came from Java and, by its principle, inherits Javadoc. It is perfectly supported and interpreted by development environments. There are also many solutions that allow you to automatically generate documentation based on such comments.

DocBlock is a multi-line comment that requires certain syntax to be followed. In PHP, this method is better known under a different name - phpDoc. It comes from the name of the phpDocumentor utility, which provides the ability to create documentation pages automatically. The result of her work is very similar to the official PHP documentation.

Much has been written about the benefits of writing comments. Usually calls are based on the need to take care of those who will have to work with your code in the future. Of course, I agree with this, but I think this is a very bad motivation. People are selfish and often act only in their own interests, which is completely normal.

I want to give a number of arguments that may be able to convince us that a good commentary is beneficial primarily to ourselves. phpDoc blocks allow you to increase not only the readability of existing code, but also speed up writing new ones by using the IDE's capabilities.

phpdoc syntax

The entire syntax is based on the use of descriptors and their values ​​wrapped in C like a multi-line comment.

/** * @descriptor_name directive_value * @else_descriptor * */

It is probably worth noting that each line inside the block must begin with the * character. Descriptor names are preceded by an @ sign.

phpDoc can describe not only individual sections of code, but the entire script file, located at the very beginning of the file. Such a block is called a header block.

Below is a list of phpDoc descriptors and my comments on them.

Descriptor Values/Example Description
@abstract none Describes abstract classes, methods, or properties
@access private/protected/public Points to the access modifier of a property or class method.
@author @author Oleg Murashov The name of the author of the code. phpDocumentor will look for the text between the angle brackets (). If such a construct is found and its format matches the e-mail address, it will be converted into a corresponding link.
@category @category Zend The name of the category that contains multiple packages.
@copyright Copyright (c) 2005-2011 Company Information indicating the owner of the code.
@deprecated @deprecated 1.7 The descriptor indicates that the code is obsolete. The value of the descriptor specifies the version from which the code is considered obsolete.
@example @example /path/example.php description Specifies the path to a file containing the example code usage. phpDocumentor will publish the example with syntax highlighting and line numbers.
@final none The descriptor marks methods or properties that cannot be overloaded in child classes. A class that should not be inherited may also be marked.
@filesource none The descriptor can only be used in a header comment. Elsewhere, it is ignored. Tells phpDocumentor to display the source code of the current file, highlight the syntax, and number the lines.
@global @global datatype description Handle for declaring global variables. To understand how to correctly use this directive, it is best to refer to the relevant documentation.
@ignore none Tells phpDocumentor that the given code should not be included in the documentation sheet
@internal @internal comment The descriptor value will not be added to documentation files. Convenient if you need to leave a comment only for those who work with the code
@license @link http://www.example.com/License.txt GPL License Adds a link to the license under which the code is distributed
@link @link http://www.example.com Link text Gives the ability to add a link to any documented code.
@method @method returntype description Used to describe the __call() magic method.
@name @name $globalvariablename Allows you to refer to short name global variable declared with @global
@package @packageZend_Pdf Specifying the name of the package that includes this program code (file). Used in a file header block or in a class comment block.
@param @param datatype1|datatype2 $paramname description The descriptor describes the input parameters for the functions and methods of the classes. Contains information about the data type of the parameter and its description.
@property
@property-read
@property-write
Descriptors describe class properties that can be written to or read from using the __set() and __get() magic methods. If the property is read/write, the @property directive must be used. If read-only or write-only, then @property-read or @property-write respectively. They are used only in the class description block.
@return @return datatype1|datatype2 description Used to describe the data returned by a function or class method. The syntax is similar to the @param descriptor. If the class name is specified as the type, phpDocumentor will automatically create a reference to this class.
@see @see... The descriptor suggests referring to another, already existing dockblock. For example, it can be used when documenting a method whose class implements an interface, where a full-fledged dockblock already exists. Avoids duplicate comments.
@since @sincev0.7 Indicates the version of the package/class with which the commented element became available. For example, when describing a method that only appeared in some version of a class, you can specify that version.
@static none Marks static methods or properties of a class
@subpackage @subpackageName Used to combine multiple packages into one documentation section. Ignored if there is no @package descriptor. Like @package, it is placed in the header block of comments.
@todo @todoSomething You can describe future possible changes to the code
@throws @throwsMyException Specifies the type of exception that can be returned by a piece of code
@var @varstring Specifies the type of a class property
@version @version Version 1.1 The current implementation version of the documented code.

The @access , @final , and @abstract descriptors were relevant in PHP 4, but they can be deprecated now, as they have been deprecated with the advent of access modifiers and the keywords final and abstract .

Each docBLock is divided into several sections:

  • title;
  • description;
  • list of descriptors.

The section separator is an empty string.

Examples of using phpDoc comments

I don't want to give synthetic examples, so I borrow code from the popular Zend Framework, which I think has the most intelligent and detailed comment blocks.

I have shortened verbose descriptions of methods and classes significantly, avoiding redundancy within the scope of the example. Pay attention to the general principle of documentation and the syntax of descriptors.

Using the @see Descriptor

/** * @see Zend_Acl_Resource_Interface */ require_once "Zend/Acl/Resource/Interface.php";

An example of a comment block for a class method

/** * Removes "deny" restrictions from the ACL * * @param Zend_Acl_Role_Interface|string|array $roles * @param Zend_Acl_Resource_Interface|string|array $resources * @param string|array $privileges * @uses Zend_Acl::setRule() * @return Zend_Acl Provides a fluent interface */ public function removeDeny($roles = null, $resources = null, $privileges = null) ( return $this->setRule(self::OP_REMOVE, self::TYPE_DENY, $roles, $resources, $privileges); )

class property

/** * Role registry * * @var Zend_Acl_Role_Registry */ protected $_roleRegistry = null;

And here is one example of hints () that a development environment, in this case Eclipse, can offer.

Also, the development environment can display tooltips based on docBlock. For example, the tooltip that appears when hovering over the Zend_Acl_Role_Registry::add() method name.

Welcome to the second lesson in the OOP series. In the first article, you learned the basics of OOP in PHP, including the concepts of classes, methods, fields, and objects. You also learned how to create a simple class and implement it.

In this article, you will learn even more about class methods and fields. This will give you a good foundation to start learning more advanced techniques like inheritance.

Here is a list of what I will cover in this article:

  • Constructors and destructors, which allow you to assign certain actions to an object when it is created and deleted;
  • Static fields and methods are those fields and methods that are not associated with specific class objects;
  • Class constants, useful for storing fixed values ​​related to a particular class;
  • Explicit type specification, used to specify a restriction on the types of parameters that can be passed to a particular method;
  • Special methods __get() and __set(), which are used to set and read class field values;
  • A special __call() method used to call a class method.

You are ready? Then go ahead!

Constructors and destructors

Sometimes it becomes necessary to perform some actions simultaneously with the creation of an object. For example, you may need to set values ​​to the fields of an object as soon as it is created, or you may want to initialize them with values ​​from the database.

Similarly, you may also need to perform certain actions to remove an object from memory, such as deleting objects dependent on the object being deleted, closing the database connection or closing files.

Note: how to delete an object? PHP automatically removes an object from memory when there are no variables left pointing to it. For example, if you create a new object and store it in the $myObject variable and then delete it using the unset($myObject) method, the object itself will also be deleted. Also, if you create a local variable in a function, it (along with the object) will be deleted when the function exits.

PHP has two special methods that can be used to perform specific actions to create and destroy objects:

  • The constructor is called right after you create the object;
  • The destructor is called exactly before the object is removed from memory.

Working with constructors

Use constructors to specify the actions that will be taken to create an object of the class. These actions may include initializing class fields, opening files, reading data.

To create a constructor, add the special __construct() method to your class (two underscores before the word construct). PHP will automatically call this method when you implement your class, that is, when you create an object of that class.

Here is an example constructor:

Class MyClass ( public function __construct() ( echo "I"ve just been created!"; ) ) $myObject = new MyClass(); // displays "I"ve just been created!"

The MyClass class has a constructor that prints the string "I"ve just been created!" to the page. The last line of code creates a new object of the MyClass class. When this happens, PHP automatically calls the constructor and the message is displayed in the browser. Now in practice - initialization class fields:

Class Member ( private $username; private $location; private $homepage; public function __construct($username, $location, $homepage) ( $this->username = $username; $this->location = $location; $this- >homepage = $homepage; ) public function showProfile() ( echo "

"; echo "
username:
$this->username
"; echo "
location:
$this->location
"; echo "
homepage:
$this->homepage
"; echo "
"; ) ) $aMember = new Member("fred", "Chicago", "http://example.com/"); $aMember->showProfile();

This script will display the following on the page:

Username: fred Location: Chicago Homepage: http://example.com/

Our Member class has three fields and a constructor that takes 3 values ​​as parameters - one for each field. The constructor will assign to the fields of the object the values ​​received as arguments. The class also has a method for displaying object field values ​​on the page.

Then the code creates an object of the Member class, into which we pass 3 values ​​"fred", "Chicago", and "http://example.com/", since the constructor takes exactly 3 parameters. The constructor writes these values ​​to the fields of the created object. Finally, the showProfile() method on the created object is called to display the retrieved values.

Working with destructors

Use a destructor when an object is removed from memory. You may need to store the object in the database, close open files that interacted with the object. To create a destructor, add the __destruct() method to the class. It will be called just before the object is deleted automatically. Here is a simple example:

Class MyClass ( public function __destruct() ( echo "I"m about to disappear - bye bye!"; // (clear memory) ) ) $myObject = new MyClass(); unset($myObject); // displays "I "m about to disappear - bye bye!"

We have created a simple destructor that displays a message on the page. We then created an object of our class and immediately deleted it by calling the unset() method on the variable that refers to the object. Just before the object was deleted, the destructor was called, which displayed the message "I"m about to disappear - bye bye!" in the browser.

Note: Unlike constructors, no parameters can be passed to destructors.

The destructor is also called when the script exits, since all objects and variables are deleted when the method exits. So, the following code will also call the destructor:

Class MyClass ( public function __destruct() ( echo "I"m about to disappear - bye bye!"; // (clear memory) ) ) $myObject = new MyClass(); exit; // displays "I"m about to disappear - bye bye!"

Also, if the script terminates due to an error, the destructor will also be called.

Note: when creating objects of a derived class, the constructors of the parent class are not called automatically. Only the constructor of the heir itself is called. However, you can call the parent's constructor from a child class like this:

parent::__construct(). The same goes for destructors. You can call the parent's destructor like this: parent:__destruct(). I'll cover parent and child classes in the next lesson on inheritance.

Static class fields

We covered static variables in PHP Variable Scope: All You Need to Know. Like a regular local variable, a static variable is only accessible within a function. However, unlike ordinary local variables, static variables retain their values ​​between function calls.

Static class fields work the same way. A static field of a class is associated with its class, but it retains its value throughout the duration of the script. Contrast this with regular fields: they are associated with a specific object, and they are lost when that object is deleted.

Static fields are useful when you need to store a specific value that applies to the entire class, rather than a single object. They are similar to global class variables.

To create a static variable, add the static keyword to its definition:

Class MyClass ( public static $myProperty; )

Here is an example of how static variables work:

Class Member ( private $username; public static $numMembers = 0; public function __construct($username) ( $this->username = $username; self::$numMembers++; ) ) echo Member::$numMembers . "
"; // displays "0" $aMember = new Member("fred"); echo Member::$numMembers . "
"; // displays "1" $anotherMember = new Member("mary"); echo Member::$numMembers . "
"; // will display "2"

There are some interesting things, so let's break this script down:

  • The Member class has two fields: the private $username field and the static $numMembers field, which is initially set to 0;
  • The constructor takes the $username argument as a parameter and sets the field of the newly created object to the value of that parameter. At the same time, it increments the value of the $numMembers field, thereby making it clear that the number of objects in our class has increased by 1.

Note that the constructor accesses the static field like this: self::$numMembers. The self keyword is similar to $this, which we covered in the last tutorial. While $this refers to the current object, self refers to the current class. Also, while you use -> to access the fields and methods of an object, in this case use:: to access the fields and methods of a class.

  • At the end, the script creates several objects of the Member class and displays their number on the page, i.e. the value of the static variable $numMembers. Note that this variable retains its value throughout the script, regardless of class objects.

So, to access a static field of a class, use the :: operator. We can't use the self keyword here because the code is outside the class, so we write the class name followed by:: followed by the field name (Member::$numMembers). Within the constructor, you also need to use just such a structure, and not self.

Note: it didn't cost our script anything to access the $numMembers class field before the first object of this class was created. There is no need to create objects of a class in order to use its static fields.

Static Methods

Along with static class fields, you can also create static methods. Static methods, like fields, are associated with a class, but it is not necessary to create an object of the class to call a static method. This makes such methods useful when you need a class that doesn't operate on real objects.

To create a static method, add the static keyword to its declaration:

Class MyClass ( public static function myMethod() ( // (actions) ) )

Our previous static field example had a static field called $numMembers. It's good practice to make fields private and methods to access them public. Let's make our static field private and write a public static method to get the value of the given field:

Class Member ( private $username; private static $numMembers = 0; public function __construct($username) ( $this->username = $username; self::$numMembers++; ) public static function getNumMembers() ( return self::$ numMembers; ) ) echo Member::getNumMembers() . "
"; // displays "0" $aMember = new Member("fred"); echo Member::getNumMembers() . "
"; // displays "1" $anotherMember = new Member("mary"); echo Member::getNumMembers() . "
"; // will display "2"

Here we have created a static getNumMembers() method that returns the value of the $numMembers static field. We have also made this field private so that its value cannot be retrieved from outside.

We also changed the call code to use the getNumMembers() method to get the value of the $numMembers field. Note that you can call this method without creating a class object because the method is static.

Class constants

Constants allow you to set a global value for all your code. This value is fixed and cannot be changed. Class constants are similar to regular constants. Their main difference is that in addition to the fact that a class constant is global, it can be accessed from the class in which it is defined. Class constants are useful when you need to store specific values ​​that are specific to a specific class.

You can define a class constant using the const keyword. For example:

Class MyClass ( const CONSTANT_NAME = value; )

You can refer to the class constant later through the class name and the operator::. For example, like this:

MyClass::CONSTANT_NAME

Note: As with static fields and methods, you can refer to a constant using the self keyword.

Let's look at class constants with an example. Let's add constants to the Member class that will store the values ​​of their role (member, moderator, or administrator). By using constants instead of regular numeric values, we have made the code more readable. Here is the script:

Class Member ( const MEMBER = 1; const MODERATOR = 2; const ADMINISTRATOR = 3; private $username; private $level; public function __construct($username, $level) ( $this->username = $username; $this-> level = $level; ) public function getUsername() ( return $this->username; ) public function getLevel() ( if ($this->level == self::MEMBER) return "a member"; if ($this ->level == self::MODERATOR) return "a moderator"; if ($this->level == self::ADMINISTRATOR) return "an administrator"; return "unknown"; ) ) $aMember = new Member(" fred", Member::MEMBER); $anotherMember = new Member("mary", Member::ADMINISTRATOR); echo $aMember->getUsername() . " is " . $aMember->getLevel() . "
"; // displays "fred is a member" echo $anotherMember->getUsername() . " is " . $anotherMember->getLevel() . "
"; // will display "mary is an administrator"

We have created three class constants, MEMBER, MODERATOR, and ADMINISTRATOR, and set them to 1, 2, and 3, respectively. We then add a $level field to store the roles and modify the constructor a bit to initialize that field as well. The class also has another method - getLevel(), which returns a specific message depending on the value of the $level field. It compares this value with each of the class constants and returns the desired string.

The script creates several objects with different roles. To assign roles to objects, it is class constants that are used, and not simple numerical values. Then the getUsername() and getLevel() methods are called for each object, and the results are displayed on the page.

Explicit Types of Function Arguments

In PHP, you don't have to specify data types, so you don't have to worry about what arguments you pass to methods. For example, you can safely pass a numeric value to the strlen() function that counts the length of a string. PHP will first convert the number to a string and then return its length:

echostrlen(123); // display "3"

Sometimes explicit type is useful, but it can lead to bugs that are difficult to deal with, especially if you're working with complex data types like objects.

For example

Look at this code:

Class Member ( private $username; public function __construct($username) ( $this->username = $username; ) public function getUsername() ( return $this->username; ) ) class Topic ( private $member; private $subject ; public function __construct($member, $subject) ( $this->member = $member; $this->subject = $subject; ) public function getUsername() ( return $this->member->getUsername(); ) ) $aMember = new Member("fred"); $aTopic = new Topic($aMember, "Hello everybody!"); echo $aTopic->getUsername(); // will display "fred"

This script works like this:

  • We create our Member class with a $username field, a constructor, and a getUsername() method;
  • We also create a Topic class to manage forum articles. It has two fields: $member and $subject. $member is an object of the Member class, this will be the author of the article. The $subject field is the subject of the article.
  • The Topic class also contains a constructor that takes an object of the Member class and a string representing the topic of the article. With these values, it initializes the fields of the class. It also has a getUsername() method that returns the forum member's name. This is achieved by calling the getUsername() method of the Member object.
  • Finally, we create an object of the Member class with the value of the username field "fred". Then we create an object of the Topic class, passing it Fred and the topic of the article “Hello everybody!”. Finally, we call the getUsername() method of the Topic class and display the username (“fred”) on the page.

This is all very well, but...

Let's do better!

Let's add this piece of code at the end:

Class Widget ( private $colour; public function __construct($colour) ( $this->colour = $colour; ) public function getColour() ( return $this->colour; ) ) $aWidget = new Widget("blue") ; $anotherTopic = new Topic($aWidget, "Oops!"); // displays "Fatal error: Call to undefined method Widget::getUsername()" echo $anotherTopic->getUsername();

Here we create a Widget class with a $colour field, a constructor, and a getColour() method that returns the color of the widget.

Then we will create an object of this class, followed by a Topic object with the $aWidget argument, when we actually need to pass the author of the article, i.e. member class object.

Now let's try to call the getUsername() method of the Topic class. This method calls the getUsername() method of the Widget class. And since there is no such method in this class, we get an error:

Fatal error: Call to undefined method Widget::getUsername()

The problem is that the cause of the error is not so easily understood. Why is the Topic object looking for a method in the Widget class and not Member? In a complex class hierarchy, it will be very difficult to find a way out of this kind of situation.

We give a hint

It would be better to restrict the constructor of the Topic class to accept arguments so that it can only accept objects of the Member class as the first parameter, thus avoiding fatal errors.

This is exactly what explicit typing does. To explicitly specify the type of a parameter, insert the class name before the argument name in the method declaration:

Function myMethod(ClassName $object) ( // (actions) )

Let's adjust the constructor of the Topic class so that it only accepts a Member:

Class Topic ( private $member; private $subject; public function __construct(Member $member, $subject) ( $this->member = $member; $this->subject = $subject; ) public function getUsername() ( return $ this->member->getUsername(); ) )

Now let's try to create a Topic object again, passing it a Widget:

$aWidget = new Widget("blue"); $anotherTopic = new Topic($aWidget, "Oops!");

This time, PHP will display a specific error:

Catchable fatal error: Argument 1 passed to Topic::__construct() must be an instance of Member, instance of Widget given, called in script.php on line 55 and defined in script.php on line 24

This problem will be much easier to deal with, since we know exactly what the cause of the error is - we tried to pass a parameter of the wrong type to the constructor. The error message even lists exactly the lines of code where the method that caused it was called.

Initializing and reading class field values ​​with __get() and __set()

As you already know, classes usually contain fields:

Class MyClass ( public $aProperty; public $anotherProperty; )

If the class fields are public, you can access them using the -> operator:

$myObject = new MyClass; $myObject->aProperty = "hello";

However, PHP allows you to create "virtual" fields that are not actually in the class, but can be accessed via the -> operator. They can be useful in such cases:

  • When you have a lot of fields, and you want to create an array for them, so as not to declare each field separately;
  • When you need to store a field outside of an object, such as in another object, or even in a file or database;
  • When you need to calculate field values ​​on the fly rather than store their values ​​somewhere.

To create such “virtual” fields, you need to add a couple of magic methods to the class:

  • __get($propName) is called automatically when trying to read the value of the "invisible" field $propName;
  • __set($propName,$propValue) is called automatically when trying to set the “invisible” field $propName to $propValue.

“Invisible” in this context means that in this section of code it is impossible to directly access these fields. For example, if such a field does not exist in the class at all, or if it exists, but it is private, and there is no access to such a field outside the class.

Let's move on to practice. Let's change our Member class so that in addition to the $username field, there are also other random fields that will be stored in the $data array:

Class Member ( private $username; private $data = array(); public function __get($property) ( if ($property == "username") ( return $this->username; ) else ( if (array_key_exists($property , $this->data)) ( return $this->data[$property]; ) else ( return null; ) ) ) public function __set($property, $value) ( ​​if ($property == "username") ( $this->username = $value; ) else ( $this->data[$property] = $value; ) ) ) $aMember = new Member(); $aMember->username = "fred"; $aMember->location = "San Francisco"; echo $aMember->username . "
"; // displays "fred" echo $aMember->location . "
"; // will display "San Francisco"

Here's how it works:

  • The Member class has a constant private $username field and a private $data array for storing random "virtual" fields;
  • The __get() method takes a single parameter $property - the name of the field whose value is to be returned. If $property = "username", then the method will return the value of the $username field. Otherwise, the method will check if such a $property occurs in the keys of the $data array. If there is such a key, it will return the value of the given field, otherwise it will return null.
  • The __set() method takes 2 parameters: $property is the name of the field to be initialized, and $value is the value to be set to the given field. If $property = "username", the method initializes the $username field with the value from the $value parameter. Otherwise, adds the key $property with the value $value to the $data array.
  • After creating the Member class, we create an object of this class and initialize its $username field with the value "fred". This calls the __set() method, which will set the value of $username to the object. Then we set the value of the $location field to "San Francisco". Since no such field exists in the object, the method writes it to the $data array.
  • At the end, we get the values ​​of $username and $location and display them on the page. The __get() method retrieves the actual value of $username from the existing $username field, and the value of $location from the $data array.

As you can see, using the __get() and __set() methods, we have created a class that can contain both real fields and any “virtual” ones. From a code fragment where a value is set for a particular field, it is not necessary to know whether such a field exists or not in the object. Through the usual -> operator, you can set the field value or read it.

The example also shows how easy it is to create methods called "getters" and "setters" to access private fields. We don't need to create separate getUsername() and setUsername() methods to access the private $username field. Instead, we created __get() and __set() methods to manipulate the given field. This means that we only need 2 methods in total, rather than 2 methods for each private field.

Note: A word about encapsulation. Using private class fields in combination with getters and setters is better than using public variables. Getters and setters can additionally process the data set to and received from the fields of the object, for example, checking whether the value is in the correct format, or converting it to the correct format. Getters and setters also hide the details of how class fields are implemented, which simplifies the process of modifying the internals of a class, as there is no need to rewrite the code that operates on objects of that class. For example, you suddenly wanted to store the value of a field in the database. If you already had getters and setters, all you need to do is rewrite them. And the calling code will remain the same. This technique is called encapsulation, and this is one of the main advantages of OOP.

Method overloading with __call()

Getters and setters are used to prevent access to private variables. In the same direction, the __call() method is used to prohibit access to private methods. As soon as a class method is called from the code that either does not exist or is not available, the __call() method is automatically called. Here is the general method syntax:

Public function __call($methodName, $arguments) ( // (actions) )

When an attempt is made to call an inaccessible class method, PHP automatically calls the __call() method, which passes a string - the name of the method to be called and a list of parameters to be passed in an array. Your __call() method will then need to process the call in some way and return values ​​if necessary.

The __call() method is useful in situations where you need to pass some functionality of a class to another class. Here is a simple example:

Class Member ( private $username; public function __construct($username) ( $this->username = $username; ) public function getUsername() ( return $this->username; ) ) class Topic ( private $member; private $subject ; public function __construct($member, $subject) ( $this->member = $member; $this->subject = $subject; ) public function getSubject() ( return $this->subject; ) public function __call($ method, $arguments) ( return $this->member->$method($arguments); ) ) $aMember = new Member("fred"); $aTopic = new Topic($aMember, "Hello everybody!"); echo $aTopic->getSubject() . "
"; // displays "Hello everybody!" echo $aTopic->getUsername() . "
"; // will display "fred"

This example is similar to the one in the section on explicit types. We have a Member class with a $username field and a Topic class with a field - an object of the Member class (the author of the article) and a $subject field - the topic of the article. The Topic class contains a getSubject() method for getting the topic of an article, but it doesn't have a method that returns the name of the article's author. Instead, it has a __call() method that calls a non-existent method and passes arguments to the Member class method.

When the $aTopic->getUsername() method is called in the code, PHP understands that there is no such method in the Topic class. Therefore, the __call() method is called, which in turn calls the getUsername() method of the Member class. This method returns the author's name to the __call() method, which sends the value back to the calling code.

Note: There are other methods in PHP that deal with overloading, such as __isset() , __unset() , and __callStatic() .

Conclusion

In this tutorial, you deepened your knowledge of OOP in PHP by taking a closer look at fields and methods. You have studied:

  • Constructors and destructors, useful for initializing fields and clearing memory after deleting objects;
  • Static fields and methods that operate at the class level, not at the object level;
  • Class constants, useful for storing fixed values ​​needed at the class level;
  • Explicit type specification, with which you can limit the types of arguments passed to the method;
  • Magic methods __get(), __set() and __call(), which are used to access private fields and methods of the class. The implementation of these methods allows you to create "virtual" fields and methods that do not exist in the class, but at the same time, can be called.

With the knowledge gained in this and the previous tutorial, you can start writing OOP. But this is just the beginning! In the next lesson, we'll talk about the power of OOP - the ability of classes to inherit functionality from other classes.

Happy programming!

Kaplan A. B.

French school "Annals" about the history of culture

Collection of works on various branches of the humanities Manefon

http://www.manefon.org/show.php?t=0&txt=2

Throughout the 20th century interest in the study of cultural history gradually increased. At the beginning and in the first half of the century, historical and cultural research was mainly of a local nature, limited to particular problems. When in 1919 the book of the Dutch historian and philosopher J. Huizinga "Autumn of the Middle Ages" (7) was published, contemporaries could not fully appreciate its significance for the development of social sciences. Decades passed, and Huizinga's book did not age, it became more and more modern. In the afterword to its Russian edition, A. V. Mikhailov writes that the unique quality of this book lies in the ability to immerse the reader in reading a supposedly fascinating novel and at the same time make him constantly aware that he is studying the work of the most painstaking researcher (7, p. 413). A. V. Mikhailov shows that J. Huizinga follows the path of a story, and not the path of an obsessive interpretation of facts. J. Huizinga opened the window in the 15th century. Europe, in a cruel and bloody age, he sought to outline true attitude of people late medieval to art. It is worth noting that J. Huizinga did not set as his goal a comprehensive study of the folk mentality, although his book contains valuable observations on the history of folk culture. Mostly its content is devoted to the mentality of the upper strata of society and the intelligentsia of the XV century. Certainly, to the reader of the end of the 20th century, who is familiar with the latest achievements of historical psychology, much will seem somewhat naive in J. Huizinga's book. However, it should be remembered that it was precisely the brilliant attempt by the Dutch scientist to describe the specific features of the thinking of the people of the Middle Ages that inspired subsequent generations of historians to solve the key problems of historical psychology.

The term "historical psychology" appeared in the 1930s. and is mainly associated with the activities of scientists grouped around the Parisian journal Annales, which began to appear in 1929. The founders of the journal were the great French historians Marc Blok and Lucien Febvre, who introduced the concept of “mentality” into the historian’s lexicon. In the sphere of attention of M. Blok, first of all, there were public relations, social structures. From his point of view, “medieval society is a kind of unity of all aspects: production, relations of domination and dependence, political power, worldview, and the social system and agrarian structure are in the first place for M. Blok” (2, p. 512). However, this does not mean that M. Blok was not interested in questions of psychology and culture. Even in special works devoted to the history of agriculture, he devotes a lot of space to the psychology of the peasant, and in his capital works, M. Blok achieved great success in developing the history of mentality. There is no doubt that the great master would have left an even greater legacy if he had not been killed during the war by Nazi executioners.

L. Fevre, as noted by A. Ya. Gurevich, preferred more vague terms to the concept of “structure”: “rhythms, pulsations, currents and countercurrents” (2, p. 512). These concepts were closer to L. Fevre as a historian of ideas, for he strove for a thoughtful synthesis of the historical and psychological sciences. In the works of L. Fevre, the methodology of the psychological approach to history can be traced. L. Febvre was considered a unique connoisseur of the 16th century, but his books about Luther and Rabelais and the articles "Capitalism and the Reformation" (6, pp. 203-216), "The Merchant of the 16th Century" (6, pp. 217-236), "The main aspects of one civilization" (6, pp. 282-246) allowed other specialists who developed the problems of historical psychology to use a unique methodical material. L. Febvre finally destroyed the traditional ideas in historical science regarding two types of consciousness - medieval and Renaissance - as certain clearly defined structures; he sought to show the originality and uniqueness of the mentality of each historical period. Showing the originality of the thinking of a European merchant of the 16th century, the ability to colorfully depict this uniqueness is one of the essential features of the work of the historian and writer L. Fevre. Briefly and figuratively, he describes, for example, the great upheaval in the mind of the artist at the beginning of the 16th century: “... this manual worker, this “mechanism” - in fact, he is something completely different than an ignorant and useful artisan. For if he is talented, if he can reproduce life with his brush, resurrect the past, dressing it in the living colors of the present, then he is one of the greats of this world, equal in nobility and nobility in the eyes of educated people and creators with princes and kings. Isn't Titian worthy of Charles V picking up the brush he dropped from the floor? A little earlier, when Albrecht Dürer left glorious Venice to return to his bourgeois Germany, did he not say in contrite heart the words full of meaning: “In Venice I am a nobleman. In Nuremberg I am a pitiful poor man” (6, p. 328).

However, at the same time, L. Febvre claims that the artist of the beginning of the 16th century. was not a modern man. In his mind and in his way of life, the features of the Middle Ages and the New Age were intricately intertwined. But the man of the end of the XVI century. had a special mentality. The mentality transition period” is an extremely complex phenomenon, in the 20th century. scientists in different countries began to seriously study it. A great Russian culturologist M. M. Bakhtin made a great contribution to the study of social consciousness. A. Ya. Gurevich believes that L. Fevre and M. M. Bakhtin discovered two unique features of the social consciousness of the 16th century: Fevre revealed the originality of the religious culture of the Rabelais era, Bakhtin explored and described huge world laughter carnival culture of the late Middle Ages.

The merit of L. Fevre and M. Blok was also that they laid the foundations of the theory of mentality. The works of these historians made it possible to realize that the assessment of the actions of historical characters from the point of view of modern stereotypes there is a distortion of history. People of the past centuries differed from us, first of all, in their mentality, that is, in their way of thinking, behavior, reaction to the environment. No matter how developed individuality was in an individual, the “psychological matrix” of his age left a special imprint on his consciousness. Finding the shaky boundary between individuality and mentality is a difficult but fascinating task for the historian. First of all, it is necessary to characterize the diversity of mentality: social, religious, cultural, national. Mentality cannot be fully equated with such phenomena as "consciousness" or "the realm of the unconscious", although there is a deep connection between these three phenomena.

M. Blok and L. Febvre were excellent artists of the word, they could create pictures of the past like Huizinga, but their research scalpel at the same time very accurately dissected the past. They practiced the synthesis of sciences, primarily history, psychology, sociology, cultural studies, etc. Thanks to the use of the synthetic method, many traditional historical sources, which for many years were considered to be fully explored, began to "radiate information" again.

The next generation of historians - Jacques Le Goff, Georges Louby, Robert Mandru, Emmanuel Leroy Ladurie - continued the work of their teachers. A. Ya. Gurevich calls J. Le Goff a "historian of mentalities." J. Le Goff pointed out the difficulty of studying this phenomenon, since it is very internally contradictory. A. Ya. Gurevich emphasizes in the afterword to one of the works of J. Le Goff “... the ways of orientation in the social and natural world are a kind of automatism of thought: people use them without thinking about them and not noticing them, like Molière's gentleman Jourdain, who spoke prose without realizing its existence. Value systems are far from always, and not completely, formulated by moralists or preachers - they cannot be implied in human behavior without being reduced to a well-thought-out code” (1, p. 356).

J. Le Goff with with good reason can be called the main theorist of the problem of mentality. In Russia, A. Ya. Gurevich develops this topic most deeply (1, 2). He is also a historiographer of the Annales School. His articles analyze the achievements of French scholars in the development of problems in the history of modern times (XVI-XVIII centuries). It should be noted that the achievements of modern historians in this regard are very great. The huge number of monographs and articles simply overwhelms the reader of the Yearbook of the French National Bibliography. Even the literature of the collections of the INION RAS library on this issue is so extensive that one person is powerless to analyze all this wealth, the work of a number of specialists is needed here. Therefore, our task is to review those works that are not yet sufficiently familiar to a wide audience.

One such author is Robert Mandru. A. Ya. Gurevich in the afterword to the collection of works by L. Fevre calls R. Mandra the successor of the work of the Annales School. Mandru did not separate the history of human emotions and moods from the general social history. Emotionality, spiritual life is extremely connected with social reality, he believed. If L. Fevre studied the uniqueness of the mentality in certain period, then R. Mandru was generally interested in the dynamics of changes in mentalities in connection with the development of socio-economic structures. In particular, R. Mandru in his monograph Magistrates and Sorcerers (11) was able to brilliantly trace how the collective psychology of French officials changed during the 17th century. in relation to the carriers of the "devilish forces" - from wild intolerance to civilized tolerance. R. Mandru also showed how complex the metamorphoses of mentality are: “Any historical psychology, any history of mentalities is undoubtedly a social history. But at the same time, it is also the history of culture” (11, p. 527).

Considering the history of culture in France, R. Mandru notes that the theory of filiation of ideas still dominates here, which does not take into account such phenomena as historical psychology and mentality. R. Mandru insists on the need to synthesize the history of religion and the history of culture, to study a number of sources that could shed light on the psychology of the authors and their contemporaries, would make it possible to understand the features of creativity and the perception of ideas in a certain era. R. Mandru pays much attention to folk culture. In this area, he believes, the traditional methodology of folklore still dominates: in order to understand the development of folk culture, a synthesis of folklore with historical psychology and other disciplines is needed (10, p. 152). R. Mandru emphasizes that it is necessary to trace the evolution of culture in the countryside, in provincial towns and in the capital. The most immobile was the rural culture. R. Mandru studied the comparatively numerous "literature of book-carriers", that is, village book dealers (9, pp. 154-157). During the XVI-XVIII centuries. the content of the books does not really change: primitive stories from sacred history, the lives of saints, stories about the deeds of great monarchs (especially Charlemagne), interpretation of dreams, fairy tales - this is what was in demand in the village even in the era of Voltaire and Rousseau.

However, speaking about the relative immobility of rural culture, Mandru notes that the medieval tradition was also tenacious among the provincial nobility. The study of lists of book titles from the libraries of provincial nobles testifies to the dominance in these libraries of works on sacred history and chivalric romances even in the 18th century. (10, p. 163). However, the way of life of the provincial nobility during the XVII-XVIII centuries. changed: most castles and even fortified houses (maisonforts) were destroyed by order of Richelieu, a significant part of the nobles moved to cities, many provincial nobles became significantly poorer. Not last role in the decline of the provincial nobility, the value orientation played, which boiled down to the fact that a true nobleman should not be engaged in farming or commerce, but only in tournaments and hunting. But the fashion for tournaments died out at the end of the 16th century, and hunting, which was usually accompanied by grassing the fields, aroused hatred among the peasants. However, the more the position of the petty nobility worsened, the more tenaciously it held on to the preservation of its class privileges. It was in the XVIII century. the doctrine of "blue blood" (the forerunner of racism) is gaining popularity. This doctrine at that time was directed against parvenyu, upstarts, that is, titled careerists, people from the bourgeois environment, who flourished at court.

In the second half of the XVII century. the way of life of the capital's nobility and its psychology changed. The nobles turned from vassals of the king to courtiers. Instead of the old feudal hierarchy, a new court hierarchy arose, more complex and dependent on the will of one person - the king. In large cities, small courts of provincial rulers appeared on the model of the Court of Versailles. The court actually deprived even the most well-born nobleman of feudal liberties and subjected him to the strict dictates of etiquette. For many years of reign Louis XIV three generations of the upper and middle nobility were replaced, among which numerous representatives of the bureaucracy penetrated. It cannot be said that the aristocrats did not protest against their humiliated position, but their protest had the peculiar character of libertinage - freethinking and skepticism (10, p. 167). In the XVIII century. aristocratic circles no longer concealed their freethinking and even atheism.

However, this does not mean that there is a straight line from the libertines of the circle of the great Conde, the prince of the blood, pushed aside by the favorites of Louis XIV from the helm of power, to the figures of the Enlightenment. true story was much more difficult. 17th century - this is the century of the domination of the Catholic Church in France, the prohibition of Protestantism. The life of the Catholic Church in this country was internally contradictory. On the one hand, the church is actively fighting for its influence among the people: there are many talented preachers, organizers, various secular and religious societies that helped the poor. On the other hand, in the 17th century there was a fierce struggle in the highest church circles between the Jesuits and Jansenists on the issue of free will. The great Pascal also took part in this struggle. The Jesuits accused the Jansenists of Calvinist heresy, the Jansenists accused the Jesuits of immorality and hypocrisy. This struggle complicated the position of the rural curies, who did not know which camp to join. By 1715, when the turmoil ended with a temporary victory for the Jesuits, one can argue about the decline of religiosity among the lower clergy.

Libertine aristocrats had a certain influence on society, but they were not persecuted by the authorities, they were saved, firstly, by belonging to the highest nobility and the fact that they did not openly advertise their views, and secondly. When Moliere in the play "Don Giovanni" showed the cynicism and doublethink of libertins, he was persecuted by the royal court.

In the 17th century there is a rise in the influence of the bourgeoisie, especially the nobility of the mantle, parliamentary officials, prosecutors and commissaries, who controlled the collection of taxes in the province. For the French bourgeois of the era of the "Old Order" the main vital value it was not the accumulation of money for the development of one's own business, but the opportunity to buy a public position, for example, the position of a quartermaster. The sale of government posts has long been practiced by royalty. The bureaucratic bourgeoisie was hated by both the aristocracy and the common people. But for their self-affirmation, both the nobility of the mantle and the big bourgeoisie adjoining it declared themselves to be the defenders of state interests. Absorbing a significant part of the concentrated state rent, the bureaucratic bourgeoisie, as emphasized by R. Mandru, spent significant funds on the maintenance of cultural figures (10, pp. 179-183). In the XVIII century. provincial academies are being created, books of enlightened philosophers are published with the money of enlightened wealthy officials. The number of secular books has been growing over the years: from 1700 to 1750, 13 thousand books were published, from 1750 to 1789 - 30 thousand (10, p. 198). With the money of numerous subscribers and cash contributions, mostly wealthy enlightened bourgeois, Denis Diderot could support more than a thousand employees for the publication of the famous encyclopedia (10, p. 205), educated part aristocracy and even the court were at the end of the XVIII century. under the influence of the literature of the Enlightenment, not feeling the danger that it carried to the "Old Order".

During the XVII-XVIII centuries. French culture was changing. In the first half of the XVII century. the baroque style dominated, that is, the artistic style of the end of the Renaissance. This style was characterized by an abundance of decorative details, a desire for diversity in painting and literature. R. Mandru points out that the diversity of the Baroque socially corresponded to the political order of that time, the influence of the noble nobility, which was especially pronounced during the Fronde period. During this period, the artistic world depended mainly on the will of individual patrons (10, p. 229). In literature, the Baroque style was distinguished by subjective psychologism, especially in dramaturgy. In France, this manifested itself in the plays of J. Rotru and with even greater force in the tragedies of P. Corneille.

In the second half of the XVII century. the nature of French culture is changing dramatically. Diverse baroque is replaced by strict classicism. This change is clearly traced in history. You can even name the date of birth of classicism - 1660, that is, the beginning of the actual reign of Louis XIV. From now on, the entire cultural development of the country was under the control of the king (10, p. 232). Versailles is considered to be the main architectural monument of classicism. Moreover, this is not only a palace, but a complex of palace buildings, gardens and fountains. A galaxy of architects took part in its creation: Mansart, Le Brun, Le Noer and others, but they were under the strict control of the king. Classicism is characterized by a synthesis of the arts. The synthesis of architecture, sculpture, artistic gardening during the construction of Versailles corresponded to the synthesis of dramaturgy, music and ballet in performing arts. The strict taste unity of classicism was an incentive to create magnificent architectural monuments. The era of Louis XIV is marked by the flourishing of both painting and literature. But during the reign of the great monarch, the fate of the great playwrights Molière and Racine was very tragic. Court architect and gardener - such phrases sound normal, but the concept of "court playwright" sounds humiliating. Neither Molière nor Racine were courtiers, notes R. Mandru. Their creativity as single creators was suffocated in the strict framework of the dictates of the king. If "The Philistine in the Nobility", "Mr. Poursignac" and "Georges Danden" aroused the monarch's delight, then such brilliant works as "Tartuffe", "Don Giovanni" and "The Misanthrope" did not correspond to the political views of the king, and their fate was sad during his lifetime. author.

The second great creator of tragedies - Racine also suffered from the despotism of the king. The dramaturgy of Racine, according to the famous French researcher Lucien Goldman, reflected the views of the most powerful layer of the bourgeoisie, parliamentary officials, doctors of the Sorbonne, who shared the views of the Jansenists - opponents of the Jesuits, close to the royal court. According to Mandru, the socialization and politicization of Racine's work is not fully justified (10, p. 241). Of course, Racine, who sympathized with the Jansenists, reflected the tragedy of tyranny in his plays, but this is only one of the many nuances of his work. The main thing was that Racine created his works, strictly adhering to the principles of classicism. This normative system was based on the methods of rationalistic philosophy. Classicism prescribed a clear logic for the development of action, clarity of thought. Classical playwrights created typical, strictly defined characters within the framework of the psychology of that time. The latter did not exclude the desire for a deeper penetration of the author into inner world hero.

In the work of Racine, R. Mandru believed, everything positive that classicism brought to art found expression. The thought of R. Mandru confirms the following conclusion of N. A. Zhirmunskaya: “The language of Racine undoubtedly bears the stamp of conventionality, characteristic of the poetics of classicism. He operates with a carefully selected vocabulary, limited mainly to abstract and general concepts, avoids specific words and colloquial phrases that are inappropriate in the "high" genre of tragedy, but also pretentious ornamentality and rhetorical embellishments. At the same time, both in matters of compositional structure and in language, the rules of classical poetics are nowhere felt by Racine as violence imposed on the poet from outside, they do not fetter or subjugate him to themselves - on the contrary, Racine, with amazing simplicity and ease, subordinates these conventions to his main artistic task: in-depth psychological analysis mental state of their heroes” (3, p. 406). The majestic beauty of Racine's language and at the same time the flexibility and expressiveness of his speech are not fully available to the most perfect translation. Like any author, the great playwright expressed his own views, but the strict manner of his work, poetic genius and the revelation of the deep feelings of the characters did not allow his contemporaries to see the subjective hints of the author. Only when sanctimonious suspicion seized the court of the aging king did the conditions for Racine's fruitful creativity disappear.

The culture of classicism in France is characterized by rapid development and no less rapid decline, although the classical traditions continued to exist for centuries. After the death of Louis XIV in 1715, the dictate of Versailles etiquette was significantly weakened, in the 18th century. Paris again became the center of cultural development. R. Mandru notes that the arrival of each monarchical ruler influenced the change in lifestyle (especially high society) and the nature of culture: the era of the regency, the reign of Louis XV and Louis XVI (10, p. 314). But at the same time, inconspicuous deep processes were going on in the country.

The study of the archives of many educational institutions of the period of the "Old Order" made it possible to understand how such a cultural and historical phenomenon as the Enlightenment arose and developed in France. After the victory of the Catholics over the Protestants at the end of the XVI century. a religious upsurge began in the country, the Catholic Church tried with all its might to raise its prestige. The counter-reformation also consisted in the desire to raise the culture of religious life, to replace the blind worship of religious relics with a more conscious firm faith. Here the Jesuits played a major role. Royal power patronized their order, starting with the reign of the former Protestant leader Henry IV. Soon Jesuit colleges and lyceums opened in many places in France.

The Jesuits took education very seriously. While cramming and corporal punishment dominated in the former church schools for the common people, the Jesuits took care of the "education of the soul of the student." The Jesuit teacher set himself the task of gently and imperceptibly influencing the consciousness of his pupil. In the Jesuit colleges, an atmosphere of relative freedom was skillfully created, interest in a certain form of study was encouraged, in almost every educational institution there was a theater troupe of students, but all events took place under the extremely inconspicuous, but vigilant control of the Jesuits. A college graduate usually received a good education and the habit of work, but only a small number of students became members of the order. The Jesuits set as their goal to create a very wide stratum of the population, which was to become a firm support for the church (10, p. 299).

R. Mandru provides data on the social composition of the students of the Jesuit colleges, based on archival materials. So, in the college of the city of Chalons on the Marne in the XVII century. only 3% of the pupils belonged to the nobility, less than ten - to the big bourgeoisie, about thirty - to petty officials, more than thirty - to merchants, more than ten - to peasants and more than twenty - to artisans (10, p. 300). Thus, the figures show that the majority of the students of the Jesuit college belonged to the middle and lower strata of society. Châlons-on-the-Marne can be considered a typical medium-sized city in France. If we compare the social composition of students with the social composition of such a large city as Bordeaux, the picture will be different: the number of peasants will be less than one percent, craftsmen no more than four percent, but the sons of officials will be more than 50% (10, p. 300). It is dominated by officials, partly by the big bourgeoisie and merchants. But in the small town of Billom, the social composition is completely different: the proportion of peasant children exceeded twenty percent, artisans - ten. It should be noted that mainly the children of wealthy peasants entered the Jesuit colleges, because, as a rule, one had to pay for education in the Jesuit colleges. Comparative analysis of the social composition of the pupils of the college in Chalons-on-the-Marne in the 17th-18th centuries. proves that over the years the picture has not changed, representatives of the aristocracy constituted a barely noticeable minority, and those from the environment of the big bourgeoisie also did not average more than ten percent. In the XVIII century. among the students of the college, there were about sixty percent of the children of officials and merchants and thirty percent of the children of peasants and artisans (10, p. 301).

So, the middle and even the lower strata made up the mass of the pupils of the Jesuits. Of these, very few joined the order. The leaders of the Jesuit order did not set this task either. Their goal was to replenish the society with faithful Catholics. But this task was not completed. Pupils of Catholic colleges became the main enemies of Catholicism. Voltaire and Diderot - pupils of the Jesuits, theorists of utopian communism Mellier, Mably and Deschamps also received a religious education. All this was not accidental. Due to objective circumstances, graduates of Jesuit colleges and other spiritual institutions were not in demand by society. They had a hard time finding their place in life. For many did not want to return to the occupations of their fathers. Faced with severe social injustice, they quickly began to worship what their former teachers cursed, i.e. the ideas of enlightenment. Voltaire, Montesquieu, Rousseau and Diderot found their most ardent supporters among them. So difficult way over the course of two centuries, a large opposition intelligentsia was formed in the country, which played a certain role in the French Revolution.

Michel de Certeau, a well-known French historian and culturologist, unlike Robert Mandru, was not a student of L. Fevre, but continued the traditions of the Annals in the field of cultural history. As a member of the Jesuit order, M. de Certo published letters from one of the greatest Jesuit mystics, J.-J. Surena. Reading this correspondence, one can be convinced not only of the gigantic erudition of M. de Certo as a church historian, but also recognize him as a deep connoisseur of modern historiography and cultural studies. M. de Certo belongs to those religious thinkers who strive to analyze facts as objectively as possible, as well as the views of other cultural historians. The scientist believes that the modern understanding of the religious life of the past cannot be valid without studying the culture and mentality of a certain era (12).

Michel de Certo notes that the nature of spiritual life in France in the 17th century. different from the nature of the spiritual life of the XVI century. Epoch religious wars divided the whole country into two camps - Catholics and Protestants, irreconcilable enemies. In general, the 17th century - an era of religious pluralism. Until 1685 Protestants lived in spiritual isolation. In the Catholic camp, between the Jansenists, Jesuits, Dominicans, there was invisible to the world fierce struggle, which caused a certain tension in society. A new type of religious struggle is characteristic: the opponents accused each other not of heresy, but of immorality. There has been, as Michel de Certo writes, a structural change in a number of values. In the Middle Ages, including the 16th century, morality and religion were inseparable, any deviation from the prevailing morality was called heresy. So, for example, a traitor was considered a heretic. But in the 17th century changes in views began, which were fixed in the stereotypes of mass consciousness. A hundred years later, Rousseau wrote to Voltaire: “Dogma now means nothing, but morality means everything” (cited in: 12, p. 153).

Ethics began to play the role of theology, and this left its mark on the entire culture of the "Old Order". The following phenomena contributed to such a mutation of mass consciousness: 1) the subordination of the church to the state interest; 2) politicization of the behavior of priests and strict regulation of church practice; 3) the gap between the duty of the subject and mysticism; 4) fixing in the public mind the concepts of "loyalty" and "benefit"; 5) bureaucratization of the church cult (12, p. 156).

Already in the XVI century. there is a separation of theology from culture, and in connection with the division of churches, two "official theologies" appear: Catholic and Protestant. But, as Michel de Certo points out, Counter-Reformation theology was different from medieval theology, less dogmatic and more pluralistic. B. Pascal's "Letters to a Provincial" prove this perfectly (4). The weakening of church dogma changed not only the culture, but also the way of life. Superstition increased sharply among the people: the popularity of witchcraft and the hunt for witches. Religious skepticism appeared in the aristocratic environment - libertinage. Throughout the 17th century there was a process that can be described as "the dismemberment of the religious worldview" (12, p. 160). At the end of the century, one of the first educators, Bernard Le Bovier de Fontenelle (1657-1757), already spoke about the study of the “system of Christian religions” (12, p. 160). Libertinism or atheism existed in the 17th century. semi-underground. Libertines were people who belonged to noble families, they were also joined by representatives of the emerging intelligentsia, especially famous doctors who used great influence. One thing was required of them - not to speak about their views in public and formally sometimes perform church rites. Terror reigned in the villages, especially in the first half of the 17th century: thousands of women (men suffered to a lesser extent, but they were victims of the “amateur Inquisition”) were burned at the stake.

In the second half of the century, the number of massacres decreased: the highest judicial authorities at that time not only did not support the spontaneous persecution of witches, but often opposed accusations of witchcraft.

In the 17th century in France there were many mystical schools, but the mystics mainly belonged to representatives of the social elite. Royal power was hostile to mysticism, as well as to spontaneous superstition, and to atheism, it demanded, first of all, formal uniformity and order, but neither Richelieu, nor Mazarin, nor Louis XIV applied the methods of the Spanish Inquisition. The abolition of the Edict of Nantes in 1685 looks like a sad exception. Although the French Protestants were the most disciplined subjects of the king, they were the victims of the royal will, which, as history later showed, did not coincide with the state interests of the country. This happens when the public interest is in fact the interest of one individual.

It seemed that the expulsion of the Huguenots meant the complete victory of Catholicism in France. Thus, the expulsion of Jews and Moors from Spain testified to the undivided power of Catholicism in this country. If we examine the nature of the development of the culture of both countries in the 17th century, we can notice a significant difference. Both countries are of great culture, but neither Molière, nor Descartes, nor Pascal could exist in Spain in this era, because there, on the defense of dogma, there was the Inquisition. In France, everything was decided by the supreme secular power. In 1681, the confessor of Louis XIV, the Jesuit La Chaise, wrote to the general of his order that royal ordinances in France should be inviolable laws for all Jesuits living in this country (12, p. 169). If the Jesuits, who were previously famous for their independence, completely submitted to the king personally, then all other congregations and clergy were at the mercy of the royal administration. From now on, all religious life passed under her supervision. Instructions were drawn up for holding church services. The cultural education of the people is the main principle of centralized government. It was instructed to instill in the common people the basics of modern theology and to strengthen the cult of the king (12, p. 170). Politics and religion merged together, the earthly and the heavenly, as it were, united, but this phenomenon led to unpredictable consequences: truly religious people, consciously or unconsciously, sought to find some kind of spiritual refuge from church formalism, and generations of young people unconsciously became indifferent to religion.

There is a tendency to claim that the 17th century was the age of triumphant Christianity. Michel de Certo treats this view with caution. He tries to trace the processes in the cultural and religious life of France, which contributed to the fact that in the 17th century. France has shown unprecedented examples of hatred for the Christian religion, both in the sphere of government policy and in the sphere of mass consciousness. It is characteristic that in other Catholic countries - Italy and Spain - we do not see such examples. There were no similar examples in Protestant countries after the Reformation. Nowhere in Europe do we find such influential enemies of the church as Voltaire, Diderot and Holbach.

As you know, the cultural and religious policy of French absolutism met with resistance from the Jansenists - supporters of the theologian Jansenius, who in his book "Augustine" defended traditional values ​​from "modernist innovations". M. de Certo does not consider the dogma of the theological dispute. He is trying in a new way to peer into the facts familiar to the readership. Blaise Pascal's great treatise Letters to a Provincial, which exposes the hypocrisy of the Jesuits, is the main monument of the struggle between the Jesuits and the Jansenists (4). Without objecting to Pascal, M. de Certo seeks to consider this struggle through the prism of the next three centuries.

M. de Certo believes that in numerous Jesuit treatises the term “state of the soul”, which was used in traditional theological and mystical literature, as well as various degrees of this state, “the order of saturation of the soul with grace ... have undergone a new study” (12, p. 176 -177). In pre-Jesuit scholasticism, the theme of the state of prayer and the theme of spiritual self-improvement were not considered as coexisting. The Jesuits, who from the very beginning pursued the goal of combining the religious state with social practice, developed projects for a new religious behavior in the new conditions of social and political life. Therefore, the “flexible morality” of the order merged, according to M. de Certo, with the social policy of the absolutist kingdom. This was one of the first attempts to put psychology at the service of the social and cultural policy of the state. It is no coincidence that Charles Perrault, the writer " fairy tales"," was actually the Minister of Culture of Louis XIV and one of the creators of the cult of the "Sun King". C. Perrault was also the author of the poem "The Age of Louis the Great" (5, pp. 41-58).

The unification of religious life and the flexibility of morality in France were opposed not only by the Jansenists, but also by other representatives of mystical schools, which are very common in the country. Mystics who disagreed with "Spanish morality" were even among the Jesuit order. Flexible Jesuit morality can be called "Spanish morality" not only because its main preachers were the Spaniards - Molina, Sanchez, Suarez, Escobar, etc., but because it triumphed as official morality in Spain in the 17th century, when extreme religious intolerance coexisted with church reconciliation with the extreme licentious behavior of the royal court and nobility. The puritanical morality of the Jansenists and other mystical schools was often combined with political radicalism and the demand for religious and spiritual freedom. France in the late 17th and early 18th centuries. there was a muffled struggle in the sphere of religious and cultural life.

Cultural and related religious life in France was controversial. Everyday practice provides examples of the coexistence of the most opposite species. social behavior. “When Pascal analyzes the state of faith, the truth of which he speaks is not identical to any real behavior and any doctrinal interpretation” (12, p. 183). B. Pascal in "Letters to a Provincial", from the point of view of the development of ethics, "was more modern and insightful than his opponents casuists" (12, p. 183). But in terms of the real life of his time, he remained close to the image of a lonely prophet, despite the success of his book. The synthesis of state policy and "flexible" religion has become the norm of life, imposed by the all-powerful royal power. This norm led in the last decades of the XVII century. to a certain decline in cultural life in France.

In the XVIII century. the situation has changed. The flexible religious morality of the Jesuits, which B. Pascal opposed, could maintain religious influence and drive the libertinism of the nobility underground only with the help of the Inquisition. But in its absence, as the example of France shows, atheism and freethinking began to influence cultural life not only the aristocracy, but also the increasingly numerous urban intelligentsia. A typical absolute monarch of the 18th century. was Frederick II, a convinced atheist, although nominally the head of the Lutheran church in Prussia. Now not God, but the deified human mind became the arbiter of history, "aristocrats, merchants, bankers, functionaries - all were devoted to an ambitious and prudent mind" (12, p. 186). Such was the paradigm of the mentality of the upper classes. But this further widened the gap between the elite and popular cultures in the 18th century. The idea of ​​Christian brotherhood faded into the background. Now not only the aristocrats, but also the middle bourgeoisie considered themselves civilized people, and the peasants, who made up the vast majority of the population of France, were thought of as savages. The language of the French Enlightenment was enriched with many words unknown to the common people, it was at this time in the country that the distance between the language of the people and the language of urban salons greatly increased.

In the age of Enlightenment comes the awareness of learning vernacular as a special event. In the XVIII century. critical analysis of religion from the point of view of secular science receives the status of an ethical task. Many scientists of that time did not feel hostility towards religion, but it lost its innermost essence, turning into an object of study. Montesquieu wrote: "All religions are based on principles useful to society" (quoted in: 12, p. 188). But such a formulation of the question itself implies the possibility of thinking about the harmfulness of religion, which became widespread in the philosophy of the Enlightenment. One of the central concepts of the ideology of the Enlightenment was the concept of "public benefit". The public good is determined by reason. It has become an axiom that the philosophers-enlighteners are the bearers of reason. Thus a new "secular clergy" was formed.

The doctrine of “public benefit” replaced the gospel word “neighbor” with the impersonal term “others”, deprived the soul of the word “people”, turning the masses into a field for experiments of bearers of reason. Thanks to Rousseau in the minds of the intelligentsia of the XVIII century. the myth about the omnipotence of education, about the possibility of putting "high truths" into the mass consciousness of the "wild people" was established. M. de Certo argues that on the eve and during the French Revolution, elite culture most actively influenced popular culture. “The projection of abstract truths onto the mass consciousness led to completely unpredictable results” (12, p. 190).

In the XVIII century. in mass psychology, primarily in France, as M. de Certo notes, three sociocultural terms have been introduced: “politics”, “consciousness”, “progress” (12, p. 191). As early as the reign of Louis XIV, royal politics began to be identified with God's will, and in the age of Enlightened absolutism, with state policy. In the utopian treatises of Morelli and Diderot, where the future communist society was projected, public policy meant total control over people (12, p. 192). In the 19th century the term "state policy" began to be combined in dreams of a state of complete social justice with such stereotypical phrases as "reliance on the laws of science" and "collective creativity of the masses."

The French word "conscience" means both "conscience" and "consciousness". Indeed, in the Middle Ages, the concept of "Christian consciousness" was extremely close to the concept of "conscience." In the era of the Reformation in the Protestant religions, in the worldly asceticism of the Puritans, the concept of "conscience" gave way to a reasonable service to God. The logical conclusion of such a rational line in theology was Kant's doctrine of the categorical imperative. Rousseau, although he was a native of Calvinist Geneva, in his religious beliefs stood closer to the Catholics than to the Protestants; he called conscience a "divine instinct", but in fact considered it a natural instinct. He denied the supremacy of reason over conscience, based on the primacy of practice, not faith. “I think that the main thing in religion is business. You need to be a kind, merciful, compassionate, humane person. Everyone who is truly such is worthy of being saved,” Rousseau wrote (quoted from: 12, p. 194).

From this statement of Rousseau it is clear that for Rousseau "work" is not something directed inward, as with Protestants, but work primarily in the name of the perfection of the external world. M. de Certo emphasizes that Rousseau, like pagan philosophers, did not consider virtue to be an attribute of God. Conscience in the Russoist civil religion most likely coincides with the desire for the common good. In the theory of the Geneva dreamer, vulgarized by the Jacobins, the word "conscience" actually coincided with the term "revolutionary consciousness".

The third important metamorphosis of secular ethics, which had a huge impact on the cultural life of France and all of Europe, was the rooting of the term "progress" in the public consciousness. In the last third of the XVIII century. this term was very popular. Instead of the mystery of revelation, the idea of ​​continuous improvement of science and culture is now beginning to assert itself in the public mind. Progress meant a reasonable order, opposing the prejudices of antiquity. The dispute about the absolute superiority of the new culture over the old was carried out as early as the era of Louis XIV, when Perrault and Fontenelle argued the superiority of modern culture over ancient culture, and Boileau and Racine defended the unsurpassed beauty of the monuments of Greece and Rome. But at the end of the XVIII century. it was not so much about art, but about the development of all aspects of life.

The thesis about the elite that civilizes the people has become an axiom for the overwhelming majority of the intelligentsia. But, as M. de Certo notes, much of the Middle Ages has been preserved in the idea of ​​cultural movement of that time: the messianism and enthusiasm characteristic of the crusaders. However, human nature is not so easily subject to intellectual projects. Enlighteners were quickly confronted with a torrent of uncontrollable events during the Age of Revolution. “Formal de-Christianization further strengthened “religious” sentiments, but from now on they were alienated from the Logos, which gave the truth to religion” (12, p. 195). Therefore, revolutionary fanaticism can only be temporary, says M. de Certo.

Michel de Certo is interested in the problem of the evolution of religious and folk culture in the provinces. Although it is known that in the XVIII century. the village clergy mostly formally treated their duties, the rural population very actively consumed the “literature of book-carriers”: the lives of the saints, books describing the stay of souls in Purgatory, telling about the Last Judgment, etc. Thoughts about death, about good and evil still excited the hearts of millions of peasants, but the new stereotypes generated by the Enlightenment imperceptibly deformed traditional ideas. "They did not change the symbols of the collective consciousness" (12, p. 198). Contact with new information led to the ideologization of old images and submission to new stereotypes. It was basically an unconscious process. M. de Certo notes that at the end of the 18th century. a change took place in the minds of the people. “The fundamental question in the history of mentality and in the sociology of culture is to find out how in the 18th century. there was a process of even greater alienation between the two cultures: one elitist, learned, bourgeois and the other folk, medieval, carnival” (12, p. 199). Characteristically, this alienation did not exclude the influence elite culture to the folk, because the relationship between different cultures has always existed.

Medieval society was hierarchical. The feudal hierarchy was consecrated by the church and enshrined in tradition. Each member of this society felt, consciously or unconsciously, a certain unity with others, even if he was at the lowest rung of the hierarchical ladder. The elite of the Enlightenment consciously or unconsciously viewed themselves as a caste of wise men, having little in common with wild people. She put herself in the position of a different social ethnos. It should be noted that in the XVII century. the language of the aristocracy was different from the language of the common people, but it was the language of the salons and the court, which, with few exceptions, was not the language of Everyday life. Aristocrats of the 17th century can be compared with medieval knights, who in the same degree owned both courtly and common language. But the French literary and epistolary language of the XVIII century. - the pride of French and world culture - was completely cut off from everyday life practice common people. The language of the book and writing in the Enlightenment greatly influenced not only the language of the intellectual of that time, but also the pronunciation. The aristocratic pronunciation differed extremely sharply from the common folk, especially in the provinces. Strict phonetic rules were given considerable attention in education. The guardians of the pronunciation norms were the Academy and the classical theater.

The curé, who spoke with the peasants in a simple language and sang prayers in Latin, was not a stranger to them, which is why Latin prayers seemed to them, although mysterious and sacred, but close. “Religion, which was interpreted by the majority of philosophers of the Enlightenment as a collection of vulgar prejudices, was the opposite of reason for the mentality of the intelligentsia” (12, p. 203). Therefore, the speech of the French intellectual was alien, both in content and in vocabulary and pronunciation, to the mass of people, and the incomprehensible, as you know, irritates. If the French clergy had not also been "irradiated" by the philosophy of the Enlightenment, then perhaps we would not have witnessed the hostility towards the clergy that the population of France experienced during the revolution. The influence of the ideology of the Enlightenment on the French clergy is a problem that is still poorly developed in science.

At the end of the XVII century. the royal authorities began an active campaign to bureaucratize the church. The priest was supposed to be the conductor of the king's cult. His sermon was not supposed to be inspired improvisation, but was read in accordance with the instructions approved by the bishop. living word began to disappear from the sermon. The bureaucratic stencil generated indifference both among the pastors and the flock. In the XVIII century. bureaucratic policy continued by inertia. New generations of curés have forgotten how to find a common language with their parishioners. Formally fulfilling their duties, they lived in the interests of the local elite. Not so dangerous was the ardent theomachist priest J.-J. Mellier, as a regular who is indifferent to religion and tends to think fashionably secular salons a bishop or abbot whose example influenced the outlook of rural priests. The majority of literate people increasingly distanced themselves from popular culture. “Starting from 1750, the gap began to widen faster” (12, p. 207). Parallel to this culture gap in the countryside, the power of petty sergeants, who oversaw order during church services, increased. In past times, the priest denounced sinners for preaching, citing examples from the life of his parish. Now he had to read an approved episcopal conference text that few listened to.

The less the authority of the curate was, the more the influence of the rural innkeeper increased, for it was in the inn that the peasants could discuss political news and local news. In the tavern, at the market, at the fair, new moods of millions were formed (12, p. 203). It cannot be said that the authorities did not notice the growing indifference of the peasants. Back in 1705, the head of the French police, Delmare, published a special set of rules for the supervision of the population. These rules petty regulated the order of church rituals; under the pretext of fighting against savagery, ancient carnival traditions were banned. But such a policy, carried out throughout the 18th century, led to an even greater gap between elite and popular cultures.

In conclusion, it should be noted that there are no historical discoveries in the works of Michel de Certo, but his cultural analysis of material familiar to specialists is very instructive. He brings us to the theme of "revolution and alienation of cultures", the priority in the development of which belongs to M. M. Bakhtin. The revolution showed what price the enlightened elite paid for breaking away from popular culture, for not understanding the processes that were going on in the mass consciousness. In the densely populated, economically developed regions of France, peasants tended to join the carnival processions of the revolutionary townspeople who sang the pocket, and in such medieval reserves as the Vendée and Brittany, the rural population rose to the defense of the church and old traditions. The influence of the Catholic Church in Spain is explained by the fact that since the time of the Inquisition, the church did not fight against the folk carnival culture, but sought to use it to its advantage.

If Robert Mandru in his studies traced the features of the socio-cultural development of France on the way to revolution, then Michel de Certeau sought to show what were the consequences of the mutual alienation of cultures in the Enlightenment. The study of such processes is useful for understanding the history and culture of other countries.

Bibliography

Gurevich A. Ya. Jacques Le Goff and the "new historical science» // Le Goff J. Civilization of the Medieval West. - M., 1992. - S. 352-373

Gurevich A. Ya. Lessons from Lucien Fevre // Fevre L. Fights for history. - M., 1991. - S. 501-541; Gurevich A. Ya. Historical synthesis and the Annales School. - M., 1993. - 328 p.

Zhirmunskaya N. A. Tragedies of Racine // Racine J. Tragedies. - Novosibirsk, 1997. -S. 377-408.

Pascal B. Letters to a provincial // Augustine Aurelius, Blaise Pascal. soul labyrinths. - Simferopol, 1998. - S. 219-412.

Dispute about ancient and new. - M., 1985. -471s.

Febvr L. Fights for history. -M., 1991. -630 p.

Huizinga I. Autumn of the Middle Ages. - M., 1988. - 540 p.

Chateaubriand F. -R. de. The Genius of Christianity // Aesthetics of the early French romanticism. - M., 1982. - S. 94-220.

Mandrou R. De la culture populare aux XVIIe et XVIIIe siecles. - P., 1964. - 222 p.

Mandrou R. La France au XVII et XVIII s. - P., 1974. - 360 p.

Mandrou R. Magistrats et sorciers au XVII s. - P., 1968. - 586 p.

Certeau M. de. L\"ecriture de l\"histoire. - P., 1975. - 320 p.

Surin J.-J. Correspondence. - P., I960. - 1728r.

The text is cited from the publication: Kaplan A. B. French school "Annals" on the history of culture // Ideas in cultural studies of the XX century. Collection of reviews. - M., 2000. SS. 51 - 73.

Almost a detective story

"This ... along with numerous descriptions of the experiments carried out and explanatory drawings attached to it ... was sent ... with a messenger who crossed a mountain range, strayed through impenetrable swamps, sailed along stormy rivers, was in danger of being torn to pieces by wild animals, dying from longing, to die from the plague, until at last he came to the post road.

"One Hundred Years of Solitude" G. G. Marquez

Nowadays, everything is much simpler. One day after midnight I turned on my computer and went online to check my email...

"Hello WAAL!

We send interesting material. These are interviews and articles of one comrade. It would be nice to give them detailed analysis. see attachment"

And in the attachment there is an archive of 500 kb of text.

I press the button Reply and write:

"Hello.

I have read your letter with interest. Analysis is possible, but for this it is necessary to discuss the conditions.

I send.
The letter is returned. Address not provided!

I did not pay attention at all to the fact that the original letter did not contain a return address. So, it was passed through the anonymizer. Familiar stuff.
I decided to take a closer look at what was sent to me in the attachment.

Seventeen files named: 9912, 0001, 0003, 0006, 0007, 0008, 0009, 0010, 0011, 0012, 0101, 0102, 0103, 0104, 0105, 0107, 0109. We can assume that the first two digits are the year , and the last two - a month.

The first phrase of file 9912 - "This site appeared due to a mistake made the other day by Yu.M. Luzhkov, E.M. Primakov or one of their responsible lackeys." Something familiar. I'm surfing the Internet again Yandex, enter the entire phrase and press Find. Oops! The first link found puts everything in its place:

Statements and interviews of FEP management Show found words
Statements and interviews of FEP management PUBLICATIONS STATEMENTS AND INTERVIEWS OF FEP MANAGEMENT
This site appeared due to a mistake made the other day by Yu.M. Luzhkov, E.M. Primakov or one of their responsible lackeys. However, this error is a consequence of a larger error made earlier.
http://www.fep.ru/publications/management/ovg31299i.html - 10K - strict compliance
Switching to the category Internal policy / Related documents / More from the server at least 1 doc.

I omit the details of the conclusions and move on to the summary.

I was sent seventeen files of interviews and articles by Gleb Pavlovsky posted on his website FEP and http:/www.fep.ru. Undoubtedly, the sender of the letter is a sincere well-wisher of Pavlovsky, as he prudently used the anonymizer. He is very interested in the analysis, since he previously removed from the texts of the interview everything that was not the words of Pavlovsky. To do this, it was necessary to manually shovel 500 kb of text. The work is hard and boring! He did everything to make my task easier, damn tempter.

The initial desire to send everything to the basket receded, and I decided to analyze the material sent anyway. But in order not to tempt well-wisher, I will say almost nothing about Pavlovsky himself. I will not upset him with a description of the discovered vices of Gleb Olgovich. I'll do it differently.

Since the results will eventually be posted on the site (they should not be wasted!), I will try to solve the problem of determining how the author of the text relates to the various persons he mentions (including himself :-)) using this material. ). This is interesting because it allows one more of the VAAL analysis methods to be demonstrated using a living example.

Life is good!

Still, one cannot do without a few words about Pavlovsky himself.

Let me remind you what is Valence. Any of our activities takes place in certain conditions. Its success is influenced by various objects, phenomena, other people entering into competition or vice versa contributing to the achievement of our goals. Depending on the nature of such influence, they can be classified as having either positive, or negative valence. Valency is not a property of the objects themselves, but only manifests itself within the framework of a certain structure of relations.

red curve the line shows the degree of positive valence in the analyzed articles and interviews. blue curve- the degree of expression of negative valency. green curve is the difference between positive and negative values. Green straight line is a linear trend of the difference between positive and negative valence values. Strongly twisted, but everything was done precisely for the sake of this green straight.

What do we see in the diagram? And we see what over the past two years the green line rose from -3 to almost +3 . Very strong growth! This means that over time, more and more objects, phenomena, other people contribute to the achievement of the goals set by Pavlovsky.

In a nutshell, then
Life is good!

About others and about yourself

As I wrote above, our goal will be to identify the attitude of Gleb Pavlovsky to different people, which he mentioned in his articles and numerous interviews. As objects of study, we have chosen: Berezovsky, Gusinsky, Yeltsin, Luzhkov, Primakov, Putin and himself Pavlovsky(under pseudonym I).

There are two ways to solve this problem using the VAAL-2000 system. For any of them, you first need to create seven categories of mentioned characters. Those. based on the entire text, we create a dictionary, and with its help we form the categories BEREZOVSKY, GUSINSKY, etc.

First way. After running the content analysis, we look at how the new categories are related (correlated) with the built-in categories. On the basis of significant connections, we draw thoughtful conclusions.

The second method (used by us) is contextual analysis. For those familiar with the current state of content analysis, I will say that this is just content analysis. collocations mentioned persons. For those who don't know what it is collocation, I will explain.

For each mention in the text of Luzhkov, we can take the words that are from him in some neighborhood. Combining such neighborhoods for all references to Luzhkov together, we get for him collocation. What to take as a neighborhood depends on the objectives of the study. In our case, we took words that are simply in the same sentence.

In the sentence "This site appeared due to a mistake made the other day by Yu.M. Luzhkov, E.M. Primakov or one of their responsible lackeys." to the neighborhood Yu.M. Luzhkov the words entered: this, the site, appeared, due to, by force, an error committed, the other day, by E.M. Primakov, or, by someone, from, their, responsible, lackeys.

Our next steps are as follows. For each of the rating scales (categories), we calculate its average value over the entire text array. Then we calculate the estimates of the same scales for the obtained collocations and compare them with the overall average. In the case of emotional-lexical scales, the comparison operation is simply taking the difference between two values, and in the case of categories, the difference in the means normalized by the standard deviation. As you can see, everything is very natural and simple. Therefore, I will no longer fool anyone, but will go directly to the results.

results


According to emotional-lexical assessments, the following results were obtained:
A person Summary
Berezovsky Temperamental, smart, businesslike, practical, punctual, neat, strong-willed, relaxed
Gusinsky Active, businesslike, uninhibited, unrestrained, irritable, hypocritical, deceitful, crafty, obsequious, inconsistent
Yeltsin Energetic, colorful, strong-willed, quick-tempered, capricious, hypocritical, cruel
Luzhkov Thinking, smart, rebellious, strong, collected, experienced, stubborn, businesslike, bright, but at the same time malicious and treacherous
Primakov Smart, educated, bright, original, elegant, withdrawn, unscrupulous, hypocritical and crafty
Putin Compulsory, conscientious, honest, fair, efficient, exacting, strong-willed
Pavlovsky himself Kind and cordial

An indicator of how emotionally indifferent to Pavlovsky this or that person can be the sum of the absolute values ​​of the ratings on all scales. At the same time, we proceed from the assumption that the more indifferent we are to a person, the more emotionally loaded words we use in relation to him. Result in the following diagram:



We get that Pavlovsky is most indifferent to Gusinsky And Luzhkov Berezovsky, Primakov, Yeltsin, Putin and myself Gleb Olegovich. He is most tolerant only of himself. If we remember the events recent years, the results are similar to the truth.


The sum of positive categorical assessments can be interpreted as the psychological brightness of the personality in Pavlovsky's view.



At the first place Luzhkov. Then, in descending order, Yeltsin, Primakov, Putin, Gusinsky, myself Pavlovsky and in the end Berezovsky. As we can see, Luzhkov occupies a stable first place in Pavlovsky's soul.

Little investigation completed. Now you can, with a clear conscience, send the sent materials to the trash can and do more serious things.



Similar articles