SyncSharedMemory::__construct

Constructs a new SyncSharedMemory object

&reftitle.description; public `SyncSharedMemory::__construct` `string` `name` `int` `size`

Constructs a named shared memory object.

&reftitle.parameters;

`name`

- The name of the shared memory object.

  If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

`size`

- The size, in bytes, of shared memory to reserve.

  The amount of memory cannot be resized later. Request sufficient storage up front.

&reftitle.returnvalues;

The new `SyncSharedMemory` object.

&reftitle.errors;

An exception is thrown if the shared memory object cannot be created or opened.

&reftitle.examples;

### `SyncSharedMemory::__construct` example

    <?php
    // You will probably need to protect shared memory with other synchronization objects.
    // Shared memory goes away when the last reference to it disappears.
    $mem = new SyncSharedMemory("AppReportName", 1024);
    if ($mem->first())
    {
        // Do first time initialization work here.
    }

    $result = $mem->write(json_encode(array("name" => "my_report.txt")));
    ?>

&reftitle.seealso;

- `SyncSharedMemory::first`
- `SyncSharedMemory::size`
- `SyncSharedMemory::write`
- `SyncSharedMemory::read`