---
title: Ensure newly created objects are used
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: >-
  Docs > Datadog Security > Code Security > Static Code Analysis (SAST) > SAST
  Rules > Ensure newly created objects are used
---

# Ensure newly created objects are used

{% callout %}
# Important note for users on the following Datadog sites: app.ddog-gov.com

{% alert level="danger" %}
This product is not supported for your selected [Datadog site](https://docs.datadoghq.com/getting_started/site). ().
{% /alert %}

{% /callout %}

## Metadata{% #metadata %}

**ID:** `php-code-style/objects-ensure-use`

**Language:** PHP

**Severity:** Warning

**Category:** Error Prone

## Description{% #description %}

This rule requires that all newly created objects in PHP should be used in your code. Creating an object with the `new` keyword but not using it is considered a violation of this rule. This prevents the creation of unnecessary objects that take up memory and can slow down your application's performance.

In PHP, when you create an object using the `new` keyword, it allocates memory for that object. If the object isn't used, this memory allocation is wasted. This can lead to memory leaks and performance issues, especially in larger applications.

To avoid violating this rule, always assign your new objects to a variable or use them directly after creation. For instance, `$obj = new Object;` is compliant code as the newly created object is assigned to a variable named `$obj`. On the other hand, `new Object;` is non-compliant code because the newly created object is not being used or assigned to any variable. Following this rule leads to more efficient, cleaner code.

## Non-Compliant Code Examples{% #non-compliant-code-examples %}

```php
<?php
new Object;
```

## Compliant Code Examples{% #compliant-code-examples %}

```php
<?php
$obj = new Object;
```
  Seamless integrations. Try Datadog Code SecurityDatadog Code Security 
{% icon name="icon-external-link" /%}
 